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. 25 26On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 27 28 29PASS foo(o) is -1 30PASS foo(o) is 0 31PASS foo(o) is 1 32PASS foo(o) is 2 33PASS foo(o) is 3 34PASS foo(o) is 4 35PASS foo(o) is 5 36PASS foo(o) is 6 37PASS foo(o) is 7 38PASS foo(o) is 8 39PASS foo(o) is 9 40PASS foo(o) is 10 41PASS foo(o) is 11 42PASS foo(o) is 12 43PASS foo(o) is 13 44PASS foo(o) is 14 45PASS foo(o) is 15 46PASS foo(o) is 16 47PASS foo(o) is 17 48PASS foo(o) is 18 49PASS foo(o) is 19 50PASS foo(o) is 20 51PASS foo(o) is 21 52PASS foo(o) is 22 53PASS foo(o) is 23 54PASS foo(o) is 24 55PASS foo(o) is 25 56PASS foo(o) is 26 57PASS foo(o) is 27 58PASS foo(o) is 28 59PASS foo(o) is 29 60PASS foo(o) is 30 61PASS foo(o) is 31 62PASS foo(o) is 32 63PASS foo(o) is 33 64PASS foo(o) is 34 65PASS foo(o) is 35 66PASS foo(o) is 36 67PASS foo(o) is 37 68PASS foo(o) is 38 69PASS foo(o) is 39 70PASS foo(o) is 40 71PASS foo(o) is 41 72PASS foo(o) is 42 73PASS foo(o) is 43 74PASS foo(o) is 44 75PASS foo(o) is 45 76PASS foo(o) is 46 77PASS foo(o) is 47 78PASS foo(o) is 48 79PASS foo(o) is 49 80PASS foo(o) is 50 81PASS foo(o) is 51 82PASS foo(o) is 52 83PASS foo(o) is 53 84PASS foo(o) is 54 85PASS foo(o) is 55 86PASS foo(o) is 56 87PASS foo(o) is 57 88PASS foo(o) is 58 89PASS foo(o) is 59 90PASS foo(o) is 60 91PASS foo(o) is 61 92PASS foo(o) is 62 93PASS foo(o) is 63 94PASS foo(o) is 64 95PASS foo(o) is 65 96PASS foo(o) is 66 97PASS foo(o) is 67 98PASS foo(o) is 68 99PASS foo(o) is 69 100PASS foo(o) is 70 101PASS foo(o) is 71 102PASS foo(o) is 72 103PASS foo(o) is 73 104PASS foo(o) is 74 105PASS foo(o) is 75 106PASS foo(o) is 76 107PASS foo(o) is 77 108PASS foo(o) is 78 109PASS foo(o) is 79 110PASS foo(o) is 80 111PASS foo(o) is 81 112PASS foo(o) is 82 113PASS foo(o) is 83 114PASS foo(o) is 84 115PASS foo(o) is 85 116PASS foo(o) is 86 117PASS foo(o) is 87 118PASS foo(o) is 88 119PASS foo(o) is 89 120PASS foo(o) is 90 121PASS foo(o) is 91 122PASS foo(o) is 92 123PASS foo(o) is 93 124PASS foo(o) is 94 125PASS foo(o) is 95 126PASS foo(o) is 96 127PASS foo(o) is 97 128PASS foo(o) is 98 129PASS foo(o) is 99 130PASS foo(o) is 100 131PASS foo(o) is 101 132PASS foo(o) is 102 133PASS foo(o) is 103 134PASS foo(o) is 104 135PASS foo(o) is 105 136PASS foo(o) is 106 137PASS foo(o) is 107 138PASS foo(o) is 108 139PASS foo(o) is 109 140PASS foo(o) is 110 141PASS foo(o) is 111 142PASS foo(o) is 112 143PASS foo(o) is 113 144PASS foo(o) is 114 145PASS foo(o) is 115 146PASS foo(o) is 116 147PASS foo(o) is 117 148PASS foo(o) is 118 149PASS foo(o) is 119 150PASS foo(o) is 120 151PASS foo(o) is 121 152PASS foo(o) is 122 153PASS foo(o) is 123 154PASS foo(o) is 124 155PASS foo(o) is 125 156PASS foo(o) is 126 157PASS foo(o) is 127 158PASS foo(o) is 128 159PASS foo(o) is 129 160PASS foo(o) is 130 161PASS foo(o) is 131 162PASS foo(o) is 132 163PASS foo(o) is 133 164PASS foo(o) is 134 165PASS foo(o) is 135 166PASS foo(o) is 136 167PASS foo(o) is 137 168PASS foo(o) is 138 169PASS foo(o) is 139 170PASS foo(o) is 140 171PASS foo(o) is 141 172PASS foo(o) is 142 173PASS foo(o) is 143 174PASS foo(o) is 144 175PASS foo(o) is 145 176PASS foo(o) is 146 177PASS foo(o) is 147 178PASS foo(o) is 148 179PASS foo(o) is 149 180PASS foo(o) is 150 181PASS foo(o) is 151 182PASS foo(o) is 152 183PASS foo(o) is 153 184PASS foo(o) is 154 185PASS foo(o) is 155 186PASS foo(o) is 156 187PASS foo(o) is 157 188PASS foo(o) is 158 189PASS foo(o) is 159 190PASS foo(o) is 160 191PASS foo(o) is 161 192PASS foo(o) is 162 193PASS foo(o) is 163 194PASS foo(o) is 164 195PASS foo(o) is 165 196PASS foo(o) is 166 197PASS foo(o) is 167 198PASS foo(o) is 168 199PASS foo(o) is 169 200PASS foo(o) is 170 201PASS foo(o) is 171 202PASS foo(o) is 172 203PASS foo(o) is 173 204PASS foo(o) is 174 205PASS foo(o) is 175 206PASS foo(o) is 176 207PASS foo(o) is 177 208PASS foo(o) is 178 209PASS foo(o) is 179 210PASS foo(o) is 180 211PASS foo(o) is 181 212PASS foo(o) is 182 213PASS foo(o) is 183 214PASS foo(o) is 184 215PASS foo(o) is 185 216PASS foo(o) is 186 217PASS foo(o) is 187 218PASS foo(o) is 188 219PASS foo(o) is 189 220PASS foo(o) is 190 221PASS foo(o) is 191 222PASS foo(o) is 192 223PASS foo(o) is 193 224PASS foo(o) is 194 225PASS foo(o) is 195 226PASS foo(o) is 196 227PASS foo(o) is 197 228PASS foo(o) is 198 229PASS foo(o) is 199 230PASS foo(o) is 200 231PASS foo(o) is 201 232PASS foo(o) is 202 233PASS foo(o) is 203 234PASS foo(o) is 204 235PASS foo(o) is 205 236PASS foo(o) is 206 237PASS foo(o) is 207 238PASS foo(o) is 208 239PASS foo(o) is 209 240PASS foo(o) is 210 241PASS foo(o) is 211 242PASS foo(o) is 212 243PASS foo(o) is 213 244PASS foo(o) is 214 245PASS foo(o) is 215 246PASS foo(o) is 216 247PASS foo(o) is 217 248PASS foo(o) is 218 249PASS foo(o) is 219 250PASS foo(o) is 220 251PASS foo(o) is 221 252PASS foo(o) is 222 253PASS foo(o) is 223 254PASS foo(o) is 224 255PASS foo(o) is 225 256PASS foo(o) is 226 257PASS foo(o) is 227 258PASS foo(o) is 228 259PASS foo(o) is 229 260PASS foo(o) is 230 261PASS foo(o) is 231 262PASS foo(o) is 232 263PASS foo(o) is 233 264PASS foo(o) is 234 265PASS foo(o) is 235 266PASS foo(o) is 236 267PASS foo(o) is 237 268PASS foo(o) is 238 269PASS foo(o) is 239 270PASS foo(o) is 240 271PASS foo(o) is 241 272PASS foo(o) is 242 273PASS foo(o) is 243 274PASS foo(o) is 244 275PASS foo(o) is 245 276PASS foo(o) is 246 277PASS foo(o) is 247 278PASS foo(o) is 248 279PASS foo(o) is 249 280PASS foo(o) is 250 281PASS foo(o) is 251 282PASS foo(o) is 252 283PASS foo(o) is 253 284PASS foo(o) is 254 285PASS foo(o) is 255 286PASS foo(o) is 256 287PASS foo(o) is 257 288PASS foo(o) is 258 289PASS foo(o) is 259 290PASS foo(o) is 260 291PASS foo(o) is 261 292PASS foo(o) is 262 293PASS foo(o) is 263 294PASS foo(o) is 264 295PASS foo(o) is 265 296PASS foo(o) is 266 297PASS foo(o) is 267 298PASS foo(o) is 268 299PASS foo(o) is 269 300PASS foo(o) is 270 301PASS foo(o) is 271 302PASS foo(o) is 272 303PASS foo(o) is 273 304PASS foo(o) is 274 305PASS foo(o) is 275 306PASS foo(o) is 276 307PASS foo(o) is 277 308PASS foo(o) is 278 309PASS foo(o) is 279 310PASS foo(o) is 280 311PASS foo(o) is 281 312PASS foo(o) is 282 313PASS foo(o) is 283 314PASS foo(o) is 284 315PASS foo(o) is 285 316PASS foo(o) is 286 317PASS foo(o) is 287 318PASS foo(o) is 288 319PASS foo(o) is 289 320PASS foo(o) is 290 321PASS foo(o) is 291 322PASS foo(o) is 292 323PASS foo(o) is 293 324PASS foo(o) is 294 325PASS foo(o) is 295 326PASS foo(o) is 296 327PASS foo(o) is 297 328PASS foo(o) is 298 329PASS foo(o) is 299 330PASS foo(o) is 300 331PASS foo(o) is 301 332PASS foo(o) is 302 333PASS foo(o) is 303 334PASS foo(o) is 304 335PASS foo(o) is 305 336PASS foo(o) is 306 337PASS foo(o) is 307 338PASS foo(o) is 308 339PASS foo(o) is 309 340PASS foo(o) is 310 341PASS foo(o) is 311 342PASS foo(o) is 312 343PASS foo(o) is 313 344PASS foo(o) is 314 345PASS foo(o) is 315 346PASS foo(o) is 316 347PASS foo(o) is 317 348PASS foo(o) is 318 349PASS foo(o) is 319 350PASS foo(o) is 320 351PASS foo(o) is 321 352PASS foo(o) is 322 353PASS foo(o) is 323 354PASS foo(o) is 324 355PASS foo(o) is 325 356PASS foo(o) is 326 357PASS foo(o) is 327 358PASS foo(o) is 328 359PASS foo(o) is 329 360PASS foo(o) is 330 361PASS foo(o) is 331 362PASS foo(o) is 332 363PASS foo(o) is 333 364PASS foo(o) is 334 365PASS foo(o) is 335 366PASS foo(o) is 336 367PASS foo(o) is 337 368PASS foo(o) is 338 369PASS foo(o) is 339 370PASS foo(o) is 340 371PASS foo(o) is 341 372PASS foo(o) is 342 373PASS foo(o) is 343 374PASS foo(o) is 344 375PASS foo(o) is 345 376PASS foo(o) is 346 377PASS foo(o) is 347 378PASS foo(o) is 348 379PASS foo(o) is 349 380PASS foo(o) is 350 381PASS foo(o) is 351 382PASS foo(o) is 352 383PASS foo(o) is 353 384PASS foo(o) is 354 385PASS foo(o) is 355 386PASS foo(o) is 356 387PASS foo(o) is 357 388PASS foo(o) is 358 389PASS foo(o) is 359 390PASS foo(o) is 360 391PASS foo(o) is 361 392PASS foo(o) is 362 393PASS foo(o) is 363 394PASS foo(o) is 364 395PASS foo(o) is 365 396PASS foo(o) is 366 397PASS foo(o) is 367 398PASS foo(o) is 368 399PASS foo(o) is 369 400PASS foo(o) is 370 401PASS foo(o) is 371 402PASS foo(o) is 372 403PASS foo(o) is 373 404PASS foo(o) is 374 405PASS foo(o) is 375 406PASS foo(o) is 376 407PASS foo(o) is 377 408PASS foo(o) is 378 409PASS foo(o) is 379 410PASS foo(o) is 380 411PASS foo(o) is 381 412PASS foo(o) is 382 413PASS foo(o) is 383 414PASS foo(o) is 384 415PASS foo(o) is 385 416PASS foo(o) is 386 417PASS foo(o) is 387 418PASS foo(o) is 388 419PASS foo(o) is 389 420PASS foo(o) is 390 421PASS foo(o) is 391 422PASS foo(o) is 392 423PASS foo(o) is 393 424PASS foo(o) is 394 425PASS foo(o) is 395 426PASS foo(o) is 396 427PASS foo(o) is 397 428PASS foo(o) is 398 429PASS foo(o) is 399 430PASS foo(o) is 400 431PASS foo(o) is 401 432PASS foo(o) is 402 433PASS foo(o) is 403 434PASS foo(o) is 404 435PASS foo(o) is 405 436PASS foo(o) is 406 437PASS foo(o) is 407 438PASS foo(o) is 408 439PASS foo(o) is 409 440PASS foo(o) is 410 441PASS foo(o) is 411 442PASS foo(o) is 412 443PASS foo(o) is 413 444PASS foo(o) is 414 445PASS foo(o) is 415 446PASS foo(o) is 416 447PASS foo(o) is 417 448PASS foo(o) is 418 449PASS foo(o) is 419 450PASS foo(o) is 420 451PASS foo(o) is 421 452PASS foo(o) is 422 453PASS foo(o) is 423 454PASS foo(o) is 424 455PASS foo(o) is 425 456PASS foo(o) is 426 457PASS foo(o) is 427 458PASS foo(o) is 428 459PASS foo(o) is 429 460PASS foo(o) is 430 461PASS foo(o) is 431 462PASS foo(o) is 432 463PASS foo(o) is 433 464PASS foo(o) is 434 465PASS foo(o) is 435 466PASS foo(o) is 436 467PASS foo(o) is 437 468PASS foo(o) is 438 469PASS foo(o) is 439 470PASS foo(o) is 440 471PASS foo(o) is 441 472PASS foo(o) is 442 473PASS foo(o) is 443 474PASS foo(o) is 444 475PASS foo(o) is 445 476PASS foo(o) is 446 477PASS foo(o) is 447 478PASS foo(o) is 448 479PASS foo(o) is null 480PASS foo(o) is null 481PASS foo(o) is null 482PASS foo(o) is null 483PASS foo(o) is null 484PASS foo(o) is null 485PASS foo(o) is null 486PASS foo(o) is null 487PASS foo(o) is null 488PASS foo(o) is null 489PASS foo(o) is null 490PASS foo(o) is null 491PASS foo(o) is null 492PASS foo(o) is null 493PASS foo(o) is null 494PASS foo(o) is null 495PASS foo(o) is null 496PASS foo(o) is null 497PASS foo(o) is null 498PASS foo(o) is null 499PASS foo(o) is null 500PASS foo(o) is null 501PASS foo(o) is null 502PASS foo(o) is null 503PASS foo(o) is null 504PASS foo(o) is null 505PASS foo(o) is null 506PASS foo(o) is null 507PASS foo(o) is null 508PASS foo(o) is null 509PASS foo(o) is null 510PASS foo(o) is null 511PASS foo(o) is null 512PASS foo(o) is null 513PASS foo(o) is null 514PASS foo(o) is null 515PASS foo(o) is null 516PASS foo(o) is null 517PASS foo(o) is null 518PASS foo(o) is null 519PASS foo(o) is null 520PASS foo(o) is null 521PASS foo(o) is null 522PASS foo(o) is null 523PASS foo(o) is null 524PASS foo(o) is null 525PASS foo(o) is null 526PASS foo(o) is null 527PASS foo(o) is null 528PASS foo(o) is null 529PASS successfullyParsed is true 530 531TEST COMPLETE 532 533