# Copyright 2013 the V8 project authors. All rights reserved.
# Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1.  Redistributions of source code must retain the above copyright
#     notice, this list of conditions and the following disclaimer.
# 2.  Redistributions in binary form must reproduce the above copyright
#     notice, this list of conditions and the following disclaimer in the
#     documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Tests 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.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


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

TEST COMPLETE