aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/switch-opt.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/mjsunit/switch-opt.js')
-rw-r--r--deps/v8/test/mjsunit/switch-opt.js14
1 files changed, 14 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/switch-opt.js b/deps/v8/test/mjsunit/switch-opt.js
index c1d5d38374..875a8de5ab 100644
--- a/deps/v8/test/mjsunit/switch-opt.js
+++ b/deps/v8/test/mjsunit/switch-opt.js
@@ -61,6 +61,7 @@
break;
}
}
+ %PrepareFunctionForOptimization(f);
function assertResult(r, label, b1, b2, b3) {
f(label, b1, b2, b3);
@@ -94,30 +95,36 @@
assertEquals(9, x);
// Test deopt at the beginning of the case label evaluation.
+ %PrepareFunctionForOptimization(f);
assertResult([2], "ca", "deopt", true);
%OptimizeFunctionOnNextCall(f);
assertResult([4], "ca", "deopt", false);
assertEquals(10, x);
+ %PrepareFunctionForOptimization(f);
%OptimizeFunctionOnNextCall(f);
// Test deopt in the middle of the case label evaluation.
assertResult([2], "ac", true, "deopt");
+ %PrepareFunctionForOptimization(f);
%OptimizeFunctionOnNextCall(f);
assertResult([4], "ac", false, "deopt");
assertEquals(11, x);
// Test deopt in the default case.
+ %PrepareFunctionForOptimization(f);
%OptimizeFunctionOnNextCall(f);
print("here");
assertResult([4], 10000, false, false, "deopt");
assertEquals(12, x);
// Test deopt in the default case.
+ %PrepareFunctionForOptimization(f);
%OptimizeFunctionOnNextCall(f);
assertResult([4], 10000, false, false, "deopt");
assertEquals(13, x);
// Test deopt in x++ case.
+ %PrepareFunctionForOptimization(f);
%OptimizeFunctionOnNextCall(f);
assertResult([5], 13, false, false, "deopt");
assertEquals(14, x);
@@ -158,6 +165,7 @@
break;
}
}
+ %PrepareFunctionForOptimization(f);
function assertResult(r, label, b1, b2, b3) {
f(label, b1, b2, b3);
@@ -191,30 +199,36 @@
assertEquals(9, x);
// Test deopt at the beginning of the case label evaluation.
+ %PrepareFunctionForOptimization(f);
assertResult([2,3], "ca", "deopt", true);
%OptimizeFunctionOnNextCall(f);
assertResult([4,5], "ca", "deopt", false);
assertEquals(10, x);
+ %PrepareFunctionForOptimization(f);
%OptimizeFunctionOnNextCall(f);
// Test deopt in the middle of the case label evaluation.
assertResult([2,3], "ac", true, "deopt");
+ %PrepareFunctionForOptimization(f);
%OptimizeFunctionOnNextCall(f);
assertResult([4,5], "ac", false, "deopt");
assertEquals(11, x);
// Test deopt in the default case.
+ %PrepareFunctionForOptimization(f);
%OptimizeFunctionOnNextCall(f);
print("here");
assertResult([4,5], 10000, false, false, "deopt");
assertEquals(12, x);
// Test deopt in the default case.
+ %PrepareFunctionForOptimization(f);
%OptimizeFunctionOnNextCall(f);
assertResult([4,5], 10000, false, false, "deopt");
assertEquals(13, x);
// Test deopt in x++ case.
+ %PrepareFunctionForOptimization(f);
%OptimizeFunctionOnNextCall(f);
assertResult([5], 13, false, false, "deopt");
assertEquals(14, x);