Chromium Code Reviews| Index: test/mjsunit/compiler/regress-shared-deopt.js |
| diff --git a/test/mjsunit/regress/regress-seqstrsetchar-ex3.js b/test/mjsunit/compiler/regress-shared-deopt.js |
| similarity index 75% |
| copy from test/mjsunit/regress/regress-seqstrsetchar-ex3.js |
| copy to test/mjsunit/compiler/regress-shared-deopt.js |
| index e2592a1615aa6bcfbbaa688319b8a0f6d34aa4a7..cbad47d72dbed6ea4eae4bdc06a6699fba6afae1 100644 |
| --- a/test/mjsunit/regress/regress-seqstrsetchar-ex3.js |
| +++ b/test/mjsunit/compiler/regress-shared-deopt.js |
| @@ -27,19 +27,39 @@ |
| // Flags: --allow-natives-syntax |
| +var soft = false; |
| + |
| +// disable optimization of this global |
| +soft = true; |
| +soft = false; |
| +soft = true; |
| +soft = false; |
| + |
| function test() { |
|
Toon Verwaest
2013/08/21 15:33:17
2-space indent.
titzer
2013/08/21 16:20:48
Done.
|
| - var string = %NewString(10, true); |
| - for (var i = 0; i < 10; i++) { |
| - %_OneByteSeqStringSetChar(string, i, 65); |
| - %_OneByteSeqStringSetChar(string, i, 66); |
| - } |
| - for (var i = 0; i < 10; i++) { |
| - assertEquals("B", string[i]); |
| - } |
| + var f4 = makeF(4); |
| + var f5 = makeF(5); |
| + |
| + function makeF(i) { |
| + return function f(x) { |
| + if (x == 0) return i; |
| + if (i == 4) if (soft) print("wahoo" + i); |
| + return f4(x - 1); |
| + } |
| + } |
| + |
| + f4(9); |
| + f4(11); |
| + %OptimizeFunctionOnNextCall(f4); |
| + f4(12); |
| + |
| + f5(9); |
| + f5(11); |
| + %OptimizeFunctionOnNextCall(f5); |
| + f5(12); |
| + |
| + soft = true; |
| + f4(1); |
| + f5(9); |
| } |
| test(); |
| -test(); |
| -%OptimizeFunctionOnNextCall(test); |
| -test(); |
| - |