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