Index: test/mjsunit/regress/regress-crbug-336148.js |
diff --git a/test/mjsunit/regress/regress-array-pop-deopt.js b/test/mjsunit/regress/regress-crbug-336148.js |
similarity index 78% |
copy from test/mjsunit/regress/regress-array-pop-deopt.js |
copy to test/mjsunit/regress/regress-crbug-336148.js |
index 9a0d35d3aa61b0bd3a05971b90f7c7544084d76c..8157c9fcc1978c632a32f1930af56cf113276bcc 100644 |
--- a/test/mjsunit/regress/regress-array-pop-deopt.js |
+++ b/test/mjsunit/regress/regress-crbug-336148.js |
@@ -27,15 +27,30 @@ |
// Flags: --allow-natives-syntax |
-var o = [6,7,8,9]; |
- |
-function f(b) { |
- var v = o.pop() + b; |
- return v; |
+function f(o) { |
+ var a = 1; |
+ if (true) return o.v && a; |
} |
-assertEquals(10, f(1)); |
-assertEquals(9, f(1)); |
-assertEquals(8, f(1)); |
+f({}); |
+f({}); |
%OptimizeFunctionOnNextCall(f); |
-assertEquals("61", f("1")); |
+assertEquals(1, f({ v: 1 })); |
+ |
+ |
+function f1() { return 1 && 2; }; |
+function f2() { return 1 || 2; }; |
+function f3() { return 0 && 2; }; |
+function f4() { return 0 || 2; }; |
+ |
+function test() { |
+ assertEquals(2, f1()); |
+ assertEquals(1, f2()); |
+ assertEquals(0, f3()); |
+ assertEquals(2, f4()); |
+} |
+ |
+test(); |
+test(); |
+[f1, f2, f3, f4].forEach(function(f) { %OptimizeFunctionOnNextCall(f); }); |
+test(); |