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