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
24This tests that a structure clobber in a basic block that does not touch a live variable causes that variable's structure to be correctly clobbered.
25
26On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
27
28
29PASS foo(predicate, {f:object}) is 2
30PASS foo(predicate, {f:object}) is 2
31PASS foo(predicate, {f:object}) is 2
32PASS foo(predicate, {f:object}) is 2
33PASS foo(predicate, {f:object}) is 2
34PASS foo(predicate, {f:object}) is 2
35PASS foo(predicate, {f:object}) is 2
36PASS foo(predicate, {f:object}) is 2
37PASS foo(predicate, {f:object}) is 2
38PASS foo(predicate, {f:object}) is 2
39PASS foo(predicate, {f:object}) is 2
40PASS foo(predicate, {f:object}) is 2
41PASS foo(predicate, {f:object}) is 2
42PASS foo(predicate, {f:object}) is 2
43PASS foo(predicate, {f:object}) is 2
44PASS foo(predicate, {f:object}) is 2
45PASS foo(predicate, {f:object}) is 2
46PASS foo(predicate, {f:object}) is 2
47PASS foo(predicate, {f:object}) is 2
48PASS foo(predicate, {f:object}) is 2
49PASS foo(predicate, {f:object}) is 2
50PASS foo(predicate, {f:object}) is 2
51PASS foo(predicate, {f:object}) is 2
52PASS foo(predicate, {f:object}) is 2
53PASS foo(predicate, {f:object}) is 2
54PASS foo(predicate, {f:object}) is 2
55PASS foo(predicate, {f:object}) is 2
56PASS foo(predicate, {f:object}) is 2
57PASS foo(predicate, {f:object}) is 2
58PASS foo(predicate, {f:object}) is 2
59PASS foo(predicate, {f:object}) is 2
60PASS foo(predicate, {f:object}) is 2
61PASS foo(predicate, {f:object}) is 2
62PASS foo(predicate, {f:object}) is 2
63PASS foo(predicate, {f:object}) is 2
64PASS foo(predicate, {f:object}) is 2
65PASS foo(predicate, {f:object}) is 2
66PASS foo(predicate, {f:object}) is 2
67PASS foo(predicate, {f:object}) is 2
68PASS foo(predicate, {f:object}) is 2
69PASS foo(predicate, {f:object}) is 2
70PASS foo(predicate, {f:object}) is 2
71PASS foo(predicate, {f:object}) is 2
72PASS foo(predicate, {f:object}) is 2
73PASS foo(predicate, {f:object}) is 2
74PASS foo(predicate, {f:object}) is 2
75PASS foo(predicate, {f:object}) is 2
76PASS foo(predicate, {f:object}) is 2
77PASS foo(predicate, {f:object}) is 2
78PASS foo(predicate, {f:object}) is 2
79PASS foo(predicate, {f:object}) is 2
80PASS foo(predicate, {f:object}) is 2
81PASS foo(predicate, {f:object}) is 2
82PASS foo(predicate, {f:object}) is 2
83PASS foo(predicate, {f:object}) is 2
84PASS foo(predicate, {f:object}) is 2
85PASS foo(predicate, {f:object}) is 2
86PASS foo(predicate, {f:object}) is 2
87PASS foo(predicate, {f:object}) is 2
88PASS foo(predicate, {f:object}) is 2
89PASS foo(predicate, {f:object}) is 2
90PASS foo(predicate, {f:object}) is 2
91PASS foo(predicate, {f:object}) is 2
92PASS foo(predicate, {f:object}) is 2
93PASS foo(predicate, {f:object}) is 2
94PASS foo(predicate, {f:object}) is 2
95PASS foo(predicate, {f:object}) is 2
96PASS foo(predicate, {f:object}) is 2
97PASS foo(predicate, {f:object}) is 2
98PASS foo(predicate, {f:object}) is 2
99PASS foo(predicate, {f:object}) is 2
100PASS foo(predicate, {f:object}) is 2
101PASS foo(predicate, {f:object}) is 2
102PASS foo(predicate, {f:object}) is 2
103PASS foo(predicate, {f:object}) is 2
104PASS foo(predicate, {f:object}) is 2
105PASS foo(predicate, {f:object}) is 2
106PASS foo(predicate, {f:object}) is 2
107PASS foo(predicate, {f:object}) is 2
108PASS foo(predicate, {f:object}) is 2
109PASS foo(predicate, {f:object}) is 2
110PASS foo(predicate, {f:object}) is 2
111PASS foo(predicate, {f:object}) is 2
112PASS foo(predicate, {f:object}) is 2
113PASS foo(predicate, {f:object}) is 2
114PASS foo(predicate, {f:object}) is 2
115PASS foo(predicate, {f:object}) is 2
116PASS foo(predicate, {f:object}) is 2
117PASS foo(predicate, {f:object}) is 2
118PASS foo(predicate, {f:object}) is 2
119PASS foo(predicate, {f:object}) is 2
120PASS foo(predicate, {f:object}) is 2
121PASS foo(predicate, {f:object}) is 2
122PASS foo(predicate, {f:object}) is 2
123PASS foo(predicate, {f:object}) is 2
124PASS foo(predicate, {f:object}) is 2
125PASS foo(predicate, {f:object}) is 2
126PASS foo(predicate, {f:object}) is 2
127PASS foo(predicate, {f:object}) is 2
128PASS foo(predicate, {f:object}) is 2
129PASS foo(predicate, {f:object}) is 2
130PASS foo(predicate, {f:object}) is 2
131PASS foo(predicate, {f:object}) is 2
132PASS foo(predicate, {f:object}) is 2
133PASS foo(predicate, {f:object}) is 2
134PASS foo(predicate, {f:object}) is 2
135PASS foo(predicate, {f:object}) is 2
136PASS foo(predicate, {f:object}) is 2
137PASS foo(predicate, {f:object}) is 2
138PASS foo(predicate, {f:object}) is 2
139PASS foo(predicate, {f:object}) is 2
140PASS foo(predicate, {f:object}) is 2
141PASS foo(predicate, {f:object}) is 2
142PASS foo(predicate, {f:object}) is 2
143PASS foo(predicate, {f:object}) is 2
144PASS foo(predicate, {f:object}) is 2
145PASS foo(predicate, {f:object}) is 2
146PASS foo(predicate, {f:object}) is 2
147PASS foo(predicate, {f:object}) is 2
148PASS foo(predicate, {f:object}) is 2
149PASS foo(predicate, {f:object}) is 2
150PASS foo(predicate, {f:object}) is 2
151PASS foo(predicate, {f:object}) is 2
152PASS foo(predicate, {f:object}) is 2
153PASS foo(predicate, {f:object}) is 2
154PASS foo(predicate, {f:object}) is 2
155PASS foo(predicate, {f:object}) is 2
156PASS foo(predicate, {f:object}) is 2
157PASS foo(predicate, {f:object}) is 2
158PASS foo(predicate, {f:object}) is 2
159PASS foo(predicate, {f:object}) is 2
160PASS foo(predicate, {f:object}) is 2
161PASS foo(predicate, {f:object}) is 2
162PASS foo(predicate, {f:object}) is 2
163PASS foo(predicate, {f:object}) is 2
164PASS foo(predicate, {f:object}) is 2
165PASS foo(predicate, {f:object}) is 2
166PASS foo(predicate, {f:object}) is 2
167PASS foo(predicate, {f:object}) is 2
168PASS foo(predicate, {f:object}) is 2
169PASS foo(predicate, {f:object}) is 2
170PASS foo(predicate, {f:object}) is 2
171PASS foo(predicate, {f:object}) is 2
172PASS foo(predicate, {f:object}) is 2
173PASS foo(predicate, {f:object}) is 2
174PASS foo(predicate, {f:object}) is 2
175PASS foo(predicate, {f:object}) is 2
176PASS foo(predicate, {f:object}) is 2
177PASS foo(predicate, {f:object}) is 2
178PASS foo(predicate, {f:object}) is 2
179PASS foo(predicate, {f:object}) is NaN
180PASS foo(predicate, {f:object}) is NaN
181PASS foo(predicate, {f:object}) is NaN
182PASS foo(predicate, {f:object}) is NaN
183PASS foo(predicate, {f:object}) is NaN
184PASS foo(predicate, {f:object}) is NaN
185PASS foo(predicate, {f:object}) is NaN
186PASS foo(predicate, {f:object}) is NaN
187PASS foo(predicate, {f:object}) is NaN
188PASS foo(predicate, {f:object}) is NaN
189PASS foo(predicate, {f:object}) is NaN
190PASS foo(predicate, {f:object}) is NaN
191PASS foo(predicate, {f:object}) is NaN
192PASS foo(predicate, {f:object}) is NaN
193PASS foo(predicate, {f:object}) is NaN
194PASS foo(predicate, {f:object}) is NaN
195PASS foo(predicate, {f:object}) is NaN
196PASS foo(predicate, {f:object}) is NaN
197PASS foo(predicate, {f:object}) is NaN
198PASS foo(predicate, {f:object}) is NaN
199PASS foo(predicate, {f:object}) is NaN
200PASS foo(predicate, {f:object}) is NaN
201PASS foo(predicate, {f:object}) is NaN
202PASS foo(predicate, {f:object}) is NaN
203PASS foo(predicate, {f:object}) is NaN
204PASS foo(predicate, {f:object}) is NaN
205PASS foo(predicate, {f:object}) is NaN
206PASS foo(predicate, {f:object}) is NaN
207PASS foo(predicate, {f:object}) is NaN
208PASS foo(predicate, {f:object}) is NaN
209PASS foo(predicate, {f:object}) is NaN
210PASS foo(predicate, {f:object}) is NaN
211PASS foo(predicate, {f:object}) is NaN
212PASS foo(predicate, {f:object}) is NaN
213PASS foo(predicate, {f:object}) is NaN
214PASS foo(predicate, {f:object}) is NaN
215PASS foo(predicate, {f:object}) is NaN
216PASS foo(predicate, {f:object}) is NaN
217PASS foo(predicate, {f:object}) is NaN
218PASS foo(predicate, {f:object}) is NaN
219PASS foo(predicate, {f:object}) is NaN
220PASS foo(predicate, {f:object}) is NaN
221PASS foo(predicate, {f:object}) is NaN
222PASS foo(predicate, {f:object}) is NaN
223PASS foo(predicate, {f:object}) is NaN
224PASS foo(predicate, {f:object}) is NaN
225PASS foo(predicate, {f:object}) is NaN
226PASS foo(predicate, {f:object}) is NaN
227PASS foo(predicate, {f:object}) is NaN
228PASS foo(predicate, {f:object}) is NaN
229PASS successfullyParsed is true
230
231TEST COMPLETE
232
233