Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Side by Side Diff: test/webkit/exception-propagate-from-dfg-to-llint.js

Issue 18068003: Migrated several tests from blink to V8 repository. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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 AN Y
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 AN Y
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 O N
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
24 description("Ensures that we pass exceptions to the correct codeblock when throw ing from the DFG to the LLInt.");
25 var o = {
26 toString: function() { if (shouldThrow) throw {}; return ""; }
27 };
28
29 var shouldThrow = false;
30 function h(o) {
31 return String(o);
32 }
33
34 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
35 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
36 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
37 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
38 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
39 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
40 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
41 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
42 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
43 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
44 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
45 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
46 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
47 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
48 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
49 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
50 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
51 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
52 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
53 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
54 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
55 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
56 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
57 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
58 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
59 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
60 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
61 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
62 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
63 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
64 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
65 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
66 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
67 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
68 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
69 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
70 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
71 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
72 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
73 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
74 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
75 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
76 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
77 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
78 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
79 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
80 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
81 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
82 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
83 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
84 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
85 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
86 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
87 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
88 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
89 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
90 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
91 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
92 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
93 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
94 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
95 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
96 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
97 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
98 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
99 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
100 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
101 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
102 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
103 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
104 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
105 try { shouldThrow = !shouldThrow; h(o); } catch (e) {}
106
107
108 function g() {
109 with({})
110 h(o);
111 }
112
113 function f1() {
114 try {
115 g();
116 } catch (e) {
117 testFailed("Caught exception in wrong codeblock");
118 }
119 }
120
121 function f2() {
122 try {
123 g();
124 } catch (e) {
125 testPassed("Caught exception in correct codeblock");
126 }
127 }
128
129 f1();
130 f1();
131 f1();
132 f1();
133 f1();
134 f1();
135 f1();
136 f1();
137 f1();
138 f1();
139 f1();
140 f1();
141 f1();
142 f1();
143 f1();
144 f1();
145 f1();
146 f1();
147 f1();
148 f1();
149 f1();
150 f1();
151 f1();
152 f1();
153 f1();
154 f1();
155 f1();
156 f1();
157 f1();
158 f1();
159 f1();
160 f1();
161 f1();
162 f1();
163 f1();
164 f1();
165 f1();
166 f1();
167 f1();
168 f1();
169 f1();
170 f1();
171 f1();
172 f1();
173 f1();
174 f1();
175 f1();
176 f1();
177 f1();
178 f1();
179 f1();
180 f1();
181 f1();
182 f1();
183 f1();
184 f1();
185 f1();
186 f1();
187 f1();
188 f1();
189 f1();
190 f1();
191 f1();
192 f1();
193 f1();
194 f1();
195 f1();
196 f1();
197 f1();
198 f1();
199 f1();
200 f1();
201 f1();
202 f1();
203 f1();
204 f1();
205 f1();
206 f1();
207 f1();
208 shouldThrow = true;
209 f2();
210 var successfullyParsed = true;
OLDNEW
« no previous file with comments | « test/webkit/exception-for-nonobject-expected.txt ('k') | test/webkit/exception-propagate-from-dfg-to-llint-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698