OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 %OptimizeFunctionOnNextCall(f); | 167 %OptimizeFunctionOnNextCall(f); |
168 f(expected.length - 1, 11, 12); | 168 f(expected.length - 1, 11, 12); |
169 | 169 |
170 // Add the debug event listener. | 170 // Add the debug event listener. |
171 Debug.setListener(listener); | 171 Debug.setListener(listener); |
172 | 172 |
173 function h(i, x0, y0) { | 173 function h(i, x0, y0) { |
174 var a0 = expected[i].locals.a0; | 174 var a0 = expected[i].locals.a0; |
175 var b0 = expected[i].locals.b0; | 175 var b0 = expected[i].locals.b0; |
176 debugger; // Breakpoint. | 176 debugger; // Breakpoint. |
| 177 return a0 + b0; |
177 } | 178 } |
178 | 179 |
179 function g3(i, x1, y1) { | 180 function g3(i, x1, y1) { |
180 var a1 = expected[i].locals.a1; | 181 var a1 = expected[i].locals.a1; |
181 var b1 = expected[i].locals.b1; | 182 var b1 = expected[i].locals.b1; |
182 h(i - 1, a1, b1); | 183 h(i - 1, a1, b1); |
| 184 return a1 + b1; |
183 } | 185 } |
184 | 186 |
185 function g2(i) { | 187 function g2(i) { |
186 var a2 = expected[i].locals.a2; | 188 var a2 = expected[i].locals.a2; |
187 var b2 = expected[i].locals.b2; | 189 var b2 = expected[i].locals.b2; |
188 g3(i - 1, a2, b2); | 190 g3(i - 1, a2, b2); |
| 191 return a2 + b2; |
189 } | 192 } |
190 | 193 |
191 function g1(i, x3, y3, z3) { | 194 function g1(i, x3, y3, z3) { |
192 var a3 = expected[i].locals.a3; | 195 var a3 = expected[i].locals.a3; |
193 var b3 = expected[i].locals.b3; | 196 var b3 = expected[i].locals.b3; |
194 new g2(i - 1, a3, b3); | 197 new g2(i - 1, a3, b3); |
| 198 return a3 + b3; |
195 } | 199 } |
196 | 200 |
197 function f(i, x4, y4) { | 201 function f(i, x4, y4) { |
198 var a4 = expected[i].locals.a4; | 202 var a4 = expected[i].locals.a4; |
199 var b4 = expected[i].locals.b4; | 203 var b4 = expected[i].locals.b4; |
200 g1(i - 1, a4, b4); | 204 g1(i - 1, a4, b4); |
| 205 return a4 + b4; |
201 } | 206 } |
202 | 207 |
203 // Test calling f normally and as a constructor. | 208 // Test calling f normally and as a constructor. |
204 f(expected.length - 1, 11, 12); | 209 f(expected.length - 1, 11, 12); |
205 f(expected.length - 1, 11, 12, 0); | 210 f(expected.length - 1, 11, 12, 0); |
206 testingConstructCall = true; | 211 testingConstructCall = true; |
207 new f(expected.length - 1, 11, 12); | 212 new f(expected.length - 1, 11, 12); |
208 new f(expected.length - 1, 11, 12, 0); | 213 new f(expected.length - 1, 11, 12, 0); |
209 | 214 |
210 // Make sure that the debug event listener was invoked. | 215 // Make sure that the debug event listener was invoked. |
211 assertFalse(exception, "exception in listener " + exception) | 216 assertFalse(exception, "exception in listener " + exception) |
212 assertTrue(listenerComplete); | 217 assertTrue(listenerComplete); |
213 | 218 |
214 // Throw away type information for next run. | 219 // Throw away type information for next run. |
215 gc(); | 220 gc(); |
216 | 221 |
217 Debug.setListener(null); | 222 Debug.setListener(null); |
OLD | NEW |