Index: test/mjsunit/regress/regress-359491.js |
diff --git a/test/mjsunit/regress/regress-359491.js b/test/mjsunit/regress/regress-359491.js |
index 194376b316a175f6443b5e8153c52072c6810043..d72875a2968a1ee03a8be372d7de779b71429d66 100644 |
--- a/test/mjsunit/regress/regress-359491.js |
+++ b/test/mjsunit/regress/regress-359491.js |
@@ -4,28 +4,58 @@ |
// Flags: --allow-natives-syntax |
-function f(a, b, mode) { |
- if (mode) { |
- return a === b; |
- } else { |
- return a === b; |
+(function () { |
+ function f(a, b, mode) { |
+ if (mode) { |
+ return a === b; |
+ } else { |
+ return a === b; |
+ } |
} |
-} |
- |
-// Gather type feedback for both branches. |
-f("a", "b", 1); |
-f("c", "d", 1); |
-f("a", "b", 0); |
-f("c", "d", 0); |
- |
-function g(mode) { |
- var x = 1e10 | 0; |
- f(x, x, mode); |
-} |
- |
-// Gather type feedback for g, but only on one branch for f. |
-g(1); |
-g(1); |
-%OptimizeFunctionOnNextCall(g); |
-// Optimize g, which inlines f. Both branches in f will see the constant. |
-g(0); |
+ |
+ // Gather type feedback for both branches. |
+ f("a", "b", 1); |
+ f("c", "d", 1); |
+ f("a", "b", 0); |
+ f("c", "d", 0); |
+ |
+ function g(mode) { |
+ var x = 1e10 | 0; |
+ f(x, x, mode); |
+ } |
+ |
+ // Gather type feedback for g, but only on one branch for f. |
+ g(1); |
+ g(1); |
+ %OptimizeFunctionOnNextCall(g); |
+ // Optimize g, which inlines f. Both branches in f will see the constant. |
+ g(0); |
+})(); |
+ |
+(function () { |
+ function f(a, b, mode) { |
+ if (mode) { |
+ return a === b; |
+ } else { |
+ return a === b; |
+ } |
+ } |
+ |
+ // Gather type feedback for both branches. |
+ f({ a : 1}, {b : 1}, 1); |
+ f({ c : 1}, {d : 1}, 1); |
+ f({ a : 1}, {c : 1}, 0); |
+ f({ b : 1}, {d : 1}, 0); |
+ |
+ function g(mode) { |
+ var x = 1e10 | 0; |
+ f(x, x, mode); |
+ } |
+ |
+ // Gather type feedback for g, but only on one branch for f. |
+ g(1); |
+ g(1); |
+ %OptimizeFunctionOnNextCall(g); |
+ // Optimize g, which inlines f. Both branches in f will see the constant. |
+ g(0); |
+})(); |