| 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();
|
|
|