1# Copyright 2013 the V8 project authors. All rights reserved. 2# Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions 6# are met: 7# 1. Redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer. 9# 2. Redistributions in binary form must reproduce the above copyright 10# notice, this list of conditions and the following disclaimer in the 11# documentation and/or other materials provided with the distribution. 12# 13# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY 14# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY 17# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 18# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 19# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 20# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 22# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 24Tests what happens when CFG simplification leads to the elimination of a set local that had a type check, and then we branch on the variable not being null while decrementing the variable in the same basic block. 25 26On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 27 28 29PASS foo(o) is true 30PASS foo(o) is true 31PASS foo(o) is true 32PASS foo(o) is true 33PASS foo(o) is true 34PASS foo(o) is true 35PASS foo(o) is true 36PASS foo(o) is true 37PASS foo(o) is true 38PASS foo(o) is true 39PASS foo(o) is true 40PASS foo(o) is true 41PASS foo(o) is true 42PASS foo(o) is true 43PASS foo(o) is true 44PASS foo(o) is true 45PASS foo(o) is true 46PASS foo(o) is true 47PASS foo(o) is true 48PASS foo(o) is true 49PASS foo(o) is true 50PASS foo(o) is true 51PASS foo(o) is true 52PASS foo(o) is true 53PASS foo(o) is true 54PASS foo(o) is true 55PASS foo(o) is true 56PASS foo(o) is true 57PASS foo(o) is true 58PASS foo(o) is true 59PASS foo(o) is true 60PASS foo(o) is true 61PASS foo(o) is true 62PASS foo(o) is true 63PASS foo(o) is true 64PASS foo(o) is true 65PASS foo(o) is true 66PASS foo(o) is true 67PASS foo(o) is true 68PASS foo(o) is true 69PASS foo(o) is true 70PASS foo(o) is true 71PASS foo(o) is true 72PASS foo(o) is true 73PASS foo(o) is true 74PASS foo(o) is true 75PASS foo(o) is true 76PASS foo(o) is true 77PASS foo(o) is true 78PASS foo(o) is true 79PASS foo(o) is true 80PASS foo(o) is true 81PASS foo(o) is true 82PASS foo(o) is true 83PASS foo(o) is true 84PASS foo(o) is true 85PASS foo(o) is true 86PASS foo(o) is true 87PASS foo(o) is true 88PASS foo(o) is true 89PASS foo(o) is true 90PASS foo(o) is true 91PASS foo(o) is true 92PASS foo(o) is true 93PASS foo(o) is true 94PASS foo(o) is true 95PASS foo(o) is true 96PASS foo(o) is true 97PASS foo(o) is true 98PASS foo(o) is true 99PASS foo(o) is true 100PASS foo(o) is true 101PASS foo(o) is true 102PASS foo(o) is true 103PASS foo(o) is true 104PASS foo(o) is true 105PASS foo(o) is true 106PASS foo(o) is true 107PASS foo(o) is true 108PASS foo(o) is true 109PASS foo(o) is true 110PASS foo(o) is true 111PASS foo(o) is true 112PASS foo(o) is true 113PASS foo(o) is true 114PASS foo(o) is true 115PASS foo(o) is true 116PASS foo(o) is true 117PASS foo(o) is true 118PASS foo(o) is true 119PASS foo(o) is true 120PASS foo(o) is true 121PASS foo(o) is true 122PASS foo(o) is true 123PASS foo(o) is true 124PASS foo(o) is true 125PASS foo(o) is true 126PASS foo(o) is true 127PASS foo(o) is true 128PASS foo(o) is true 129PASS foo(o) is true 130PASS foo(o) is true 131PASS foo(o) is true 132PASS foo(o) is true 133PASS foo(o) is true 134PASS foo(o) is true 135PASS foo(o) is true 136PASS foo(o) is true 137PASS foo(o) is true 138PASS foo(o) is true 139PASS foo(o) is true 140PASS foo(o) is true 141PASS foo(o) is true 142PASS foo(o) is true 143PASS foo(o) is true 144PASS foo(o) is true 145PASS foo(o) is true 146PASS foo(o) is true 147PASS foo(o) is true 148PASS foo(o) is true 149PASS foo(o) is true 150PASS foo(o) is true 151PASS foo(o) is true 152PASS foo(o) is true 153PASS foo(o) is true 154PASS foo(o) is true 155PASS foo(o) is true 156PASS foo(o) is true 157PASS foo(o) is true 158PASS foo(o) is true 159PASS foo(o) is true 160PASS foo(o) is true 161PASS foo(o) is true 162PASS foo(o) is true 163PASS foo(o) is true 164PASS foo(o) is true 165PASS foo(o) is true 166PASS foo(o) is true 167PASS foo(o) is true 168PASS foo(o) is true 169PASS foo(o) is true 170PASS foo(o) is true 171PASS foo(o) is true 172PASS foo(o) is true 173PASS foo(o) is true 174PASS foo(o) is true 175PASS foo(o) is true 176PASS foo(o) is true 177PASS foo(o) is true 178PASS foo(o) is true 179PASS foo(o) is true 180PASS foo(o) is true 181PASS foo(o) is true 182PASS foo(o) is true 183PASS foo(o) is true 184PASS foo(o) is true 185PASS foo(o) is true 186PASS foo(o) is true 187PASS foo(o) is true 188PASS foo(o) is true 189PASS foo(o) is true 190PASS foo(o) is true 191PASS foo(o) is true 192PASS foo(o) is true 193PASS foo(o) is true 194PASS foo(o) is true 195PASS foo(o) is true 196PASS foo(o) is true 197PASS foo(o) is true 198PASS foo(o) is true 199PASS foo(o) is true 200PASS foo(o) is true 201PASS foo(o) is true 202PASS foo(o) is true 203PASS foo(o) is true 204PASS foo(o) is true 205PASS foo(o) is true 206PASS foo(o) is true 207PASS foo(o) is true 208PASS foo(o) is true 209PASS foo(o) is true 210PASS foo(o) is true 211PASS foo(o) is true 212PASS foo(o) is true 213PASS foo(o) is true 214PASS foo(o) is true 215PASS foo(o) is true 216PASS foo(o) is true 217PASS foo(o) is true 218PASS foo(o) is true 219PASS foo(o) is true 220PASS foo(o) is true 221PASS foo(o) is true 222PASS foo(o) is true 223PASS foo(o) is true 224PASS foo(o) is true 225PASS foo(o) is true 226PASS foo(o) is true 227PASS foo(o) is true 228PASS foo(o) is true 229PASS foo(o) is true 230PASS foo(o) is true 231PASS foo(o) is true 232PASS foo(o) is true 233PASS foo(o) is true 234PASS foo(o) is true 235PASS foo(o) is true 236PASS foo(o) is true 237PASS foo(o) is true 238PASS foo(o) is true 239PASS foo(o) is true 240PASS foo(o) is true 241PASS foo(o) is true 242PASS foo(o) is true 243PASS foo(o) is true 244PASS foo(o) is true 245PASS foo(o) is true 246PASS foo(o) is true 247PASS foo(o) is true 248PASS foo(o) is true 249PASS foo(o) is true 250PASS foo(o) is true 251PASS foo(o) is true 252PASS foo(o) is true 253PASS foo(o) is true 254PASS foo(o) is true 255PASS foo(o) is true 256PASS foo(o) is true 257PASS foo(o) is true 258PASS foo(o) is true 259PASS foo(o) is true 260PASS foo(o) is true 261PASS foo(o) is true 262PASS foo(o) is true 263PASS foo(o) is true 264PASS foo(o) is true 265PASS foo(o) is true 266PASS foo(o) is true 267PASS foo(o) is true 268PASS foo(o) is true 269PASS foo(o) is true 270PASS foo(o) is true 271PASS foo(o) is true 272PASS foo(o) is true 273PASS foo(o) is true 274PASS foo(o) is true 275PASS foo(o) is true 276PASS foo(o) is true 277PASS foo(o) is true 278PASS foo(o) is true 279PASS foo(o) is true 280PASS foo(o) is true 281PASS foo(o) is true 282PASS foo(o) is true 283PASS foo(o) is true 284PASS foo(o) is true 285PASS foo(o) is true 286PASS foo(o) is true 287PASS foo(o) is true 288PASS foo(o) is true 289PASS foo(o) is true 290PASS foo(o) is true 291PASS foo(o) is true 292PASS foo(o) is true 293PASS foo(o) is true 294PASS foo(o) is true 295PASS foo(o) is true 296PASS foo(o) is true 297PASS foo(o) is true 298PASS foo(o) is true 299PASS foo(o) is true 300PASS foo(o) is true 301PASS foo(o) is true 302PASS foo(o) is true 303PASS foo(o) is true 304PASS foo(o) is true 305PASS foo(o) is true 306PASS foo(o) is true 307PASS foo(o) is true 308PASS foo(o) is true 309PASS foo(o) is true 310PASS foo(o) is true 311PASS foo(o) is true 312PASS foo(o) is true 313PASS foo(o) is true 314PASS foo(o) is true 315PASS foo(o) is true 316PASS foo(o) is true 317PASS foo(o) is true 318PASS foo(o) is true 319PASS foo(o) is true 320PASS foo(o) is true 321PASS foo(o) is true 322PASS foo(o) is true 323PASS foo(o) is true 324PASS foo(o) is true 325PASS foo(o) is true 326PASS foo(o) is true 327PASS foo(o) is true 328PASS foo(o) is true 329PASS foo(o) is true 330PASS foo(o) is true 331PASS foo(o) is true 332PASS foo(o) is true 333PASS foo(o) is true 334PASS foo(o) is true 335PASS foo(o) is true 336PASS foo(o) is true 337PASS foo(o) is true 338PASS foo(o) is true 339PASS foo(o) is true 340PASS foo(o) is true 341PASS foo(o) is true 342PASS foo(o) is true 343PASS foo(o) is true 344PASS foo(o) is true 345PASS foo(o) is true 346PASS foo(o) is true 347PASS foo(o) is true 348PASS foo(o) is true 349PASS foo(o) is true 350PASS foo(o) is true 351PASS foo(o) is true 352PASS foo(o) is true 353PASS foo(o) is true 354PASS foo(o) is true 355PASS foo(o) is true 356PASS foo(o) is true 357PASS foo(o) is true 358PASS foo(o) is true 359PASS foo(o) is true 360PASS foo(o) is true 361PASS foo(o) is true 362PASS foo(o) is true 363PASS foo(o) is true 364PASS foo(o) is true 365PASS foo(o) is true 366PASS foo(o) is true 367PASS foo(o) is true 368PASS foo(o) is true 369PASS foo(o) is true 370PASS foo(o) is true 371PASS foo(o) is true 372PASS foo(o) is true 373PASS foo(o) is true 374PASS foo(o) is true 375PASS foo(o) is true 376PASS foo(o) is true 377PASS foo(o) is true 378PASS foo(o) is true 379PASS foo(o) is true 380PASS foo(o) is true 381PASS foo(o) is true 382PASS foo(o) is true 383PASS foo(o) is true 384PASS foo(o) is true 385PASS foo(o) is true 386PASS foo(o) is true 387PASS foo(o) is true 388PASS foo(o) is true 389PASS foo(o) is true 390PASS foo(o) is true 391PASS foo(o) is true 392PASS foo(o) is true 393PASS foo(o) is true 394PASS foo(o) is true 395PASS foo(o) is true 396PASS foo(o) is true 397PASS foo(o) is true 398PASS foo(o) is true 399PASS foo(o) is true 400PASS foo(o) is true 401PASS foo(o) is true 402PASS foo(o) is true 403PASS foo(o) is true 404PASS foo(o) is true 405PASS foo(o) is true 406PASS foo(o) is true 407PASS foo(o) is true 408PASS foo(o) is true 409PASS foo(o) is true 410PASS foo(o) is true 411PASS foo(o) is true 412PASS foo(o) is true 413PASS foo(o) is true 414PASS foo(o) is true 415PASS foo(o) is true 416PASS foo(o) is true 417PASS foo(o) is true 418PASS foo(o) is true 419PASS foo(o) is true 420PASS foo(o) is true 421PASS foo(o) is true 422PASS foo(o) is true 423PASS foo(o) is true 424PASS foo(o) is true 425PASS foo(o) is true 426PASS foo(o) is true 427PASS foo(o) is true 428PASS foo(o) is true 429PASS foo(o) is true 430PASS foo(o) is true 431PASS foo(o) is true 432PASS foo(o) is true 433PASS foo(o) is true 434PASS foo(o) is true 435PASS foo(o) is true 436PASS foo(o) is true 437PASS foo(o) is true 438PASS foo(o) is true 439PASS foo(o) is true 440PASS foo(o) is true 441PASS foo(o) is true 442PASS foo(o) is true 443PASS foo(o) is true 444PASS foo(o) is true 445PASS foo(o) is true 446PASS foo(o) is true 447PASS foo(o) is true 448PASS foo(o) is true 449PASS foo(o) is true 450PASS foo(o) is true 451PASS foo(o) is true 452PASS foo(o) is true 453PASS foo(o) is true 454PASS foo(o) is true 455PASS foo(o) is true 456PASS foo(o) is true 457PASS foo(o) is true 458PASS foo(o) is true 459PASS foo(o) is true 460PASS foo(o) is true 461PASS foo(o) is true 462PASS foo(o) is true 463PASS foo(o) is true 464PASS foo(o) is true 465PASS foo(o) is true 466PASS foo(o) is true 467PASS foo(o) is true 468PASS foo(o) is true 469PASS foo(o) is true 470PASS foo(o) is true 471PASS foo(o) is true 472PASS foo(o) is true 473PASS foo(o) is true 474PASS foo(o) is true 475PASS foo(o) is true 476PASS foo(o) is true 477PASS foo(o) is true 478PASS foo(o) is true 479PASS foo(o) is false 480PASS foo(o) is false 481PASS foo(o) is false 482PASS foo(o) is false 483PASS foo(o) is false 484PASS foo(o) is false 485PASS foo(o) is false 486PASS foo(o) is false 487PASS foo(o) is false 488PASS foo(o) is false 489PASS foo(o) is false 490PASS foo(o) is false 491PASS foo(o) is false 492PASS foo(o) is false 493PASS foo(o) is false 494PASS foo(o) is false 495PASS foo(o) is false 496PASS foo(o) is false 497PASS foo(o) is false 498PASS foo(o) is false 499PASS foo(o) is false 500PASS foo(o) is false 501PASS foo(o) is false 502PASS foo(o) is false 503PASS foo(o) is false 504PASS foo(o) is false 505PASS foo(o) is false 506PASS foo(o) is false 507PASS foo(o) is false 508PASS foo(o) is false 509PASS foo(o) is false 510PASS foo(o) is false 511PASS foo(o) is false 512PASS foo(o) is false 513PASS foo(o) is false 514PASS foo(o) is false 515PASS foo(o) is false 516PASS foo(o) is false 517PASS foo(o) is false 518PASS foo(o) is false 519PASS foo(o) is false 520PASS foo(o) is false 521PASS foo(o) is false 522PASS foo(o) is false 523PASS foo(o) is false 524PASS foo(o) is false 525PASS foo(o) is false 526PASS foo(o) is false 527PASS foo(o) is false 528PASS foo(o) is false 529PASS successfullyParsed is true 530 531TEST COMPLETE 532 533