blob: 4dfc7f65b2d0cfe0c74970645d23b61eee4d2429 [file] [log] [blame]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001# 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