| Index: test/mjsunit/fixed-context-shapes-when-recompiling.js
|
| diff --git a/test/mjsunit/fixed-context-shapes-when-recompiling.js b/test/mjsunit/fixed-context-shapes-when-recompiling.js
|
| index 6afc07a4886110bf6b878c1d19415d548440219d..b78b5562bf1be5b8fa6efc72b65f591bfb07925a 100644
|
| --- a/test/mjsunit/fixed-context-shapes-when-recompiling.js
|
| +++ b/test/mjsunit/fixed-context-shapes-when-recompiling.js
|
| @@ -102,6 +102,100 @@
|
| }
|
| })();
|
|
|
| +(function TestInnerFunctionDestructuredParameter_1() {
|
| + var a = 1;
|
| + var b = 2;
|
| + var c = 3;
|
| + function inner([d, a]) {
|
| + a; b; c;
|
| + }
|
| + for (var i = 0; i < 3; ++i) {
|
| + if (i == 1) {
|
| + %OptimizeOsr();
|
| + }
|
| + assertEquals(1, a);
|
| + assertEquals(2, b);
|
| + assertEquals(3, c);
|
| + }
|
| +})();
|
| +
|
| +(function TestInnerFunctionDestructuredParameter_2() {
|
| + var a = 1;
|
| + var b = 2;
|
| + var c = 3;
|
| + function inner({d, a}) {
|
| + a; b; c;
|
| + }
|
| + for (var i = 0; i < 3; ++i) {
|
| + if (i == 1) {
|
| + %OptimizeOsr();
|
| + }
|
| + assertEquals(1, a);
|
| + assertEquals(2, b);
|
| + assertEquals(3, c);
|
| + }
|
| +})();
|
| +
|
| +(function TestInnerArrowFunctionParameter() {
|
| + var a = 1;
|
| + var b = 2;
|
| + var c = 3;
|
| + (a) => { a; b; c; }
|
| + for (var i = 0; i < 3; ++i) {
|
| + if (i == 1) {
|
| + %OptimizeOsr();
|
| + }
|
| + assertEquals(1, a);
|
| + assertEquals(2, b);
|
| + assertEquals(3, c);
|
| + }
|
| +})();
|
| +
|
| +(function TestInnerArrowFunctionRestParameter() {
|
| + var a = 1;
|
| + var b = 2;
|
| + var c = 3;
|
| + (...a) => { a; b; c; }
|
| + for (var i = 0; i < 3; ++i) {
|
| + if (i == 1) {
|
| + %OptimizeOsr();
|
| + }
|
| + assertEquals(1, a);
|
| + assertEquals(2, b);
|
| + assertEquals(3, c);
|
| + }
|
| +})();
|
| +
|
| +(function TestInnerArrowFunctionDestructuredParameter_1() {
|
| + var a = 1;
|
| + var b = 2;
|
| + var c = 3;
|
| + ([d, a]) => { a; b; c; }
|
| + for (var i = 0; i < 3; ++i) {
|
| + if (i == 1) {
|
| + %OptimizeOsr();
|
| + }
|
| + assertEquals(1, a);
|
| + assertEquals(2, b);
|
| + assertEquals(3, c);
|
| + }
|
| +})();
|
| +
|
| +(function TestInnerArrowFunctionDestructuredParameter_2() {
|
| + var a = 1;
|
| + var b = 2;
|
| + var c = 3;
|
| + ({d, a}) => { a; b; c; }
|
| + for (var i = 0; i < 3; ++i) {
|
| + if (i == 1) {
|
| + %OptimizeOsr();
|
| + }
|
| + assertEquals(1, a);
|
| + assertEquals(2, b);
|
| + assertEquals(3, c);
|
| + }
|
| +})();
|
| +
|
| (function TestInnerInnerFunctionParameter() {
|
| var a = 1;
|
| var b = 2;
|
| @@ -136,7 +230,41 @@
|
| }
|
| })();
|
|
|
| -(function TestInnerArrowFunctionParameter() {
|
| +(function TestInnerInnerFunctionDestructuredParameter_1() {
|
| + var a = 1;
|
| + var b = 2;
|
| + var c = 3;
|
| + function inner() {
|
| + function innerinner({d, a}) { a; b; c; }
|
| + }
|
| + for (var i = 0; i < 3; ++i) {
|
| + if (i == 1) {
|
| + %OptimizeOsr();
|
| + }
|
| + assertEquals(1, a);
|
| + assertEquals(2, b);
|
| + assertEquals(3, c);
|
| + }
|
| +})();
|
| +
|
| +(function TestInnerInnerFunctionDestructuredParameter_2() {
|
| + var a = 1;
|
| + var b = 2;
|
| + var c = 3;
|
| + function inner() {
|
| + function innerinner([d, a]) { a; b; c; }
|
| + }
|
| + for (var i = 0; i < 3; ++i) {
|
| + if (i == 1) {
|
| + %OptimizeOsr();
|
| + }
|
| + assertEquals(1, a);
|
| + assertEquals(2, b);
|
| + assertEquals(3, c);
|
| + }
|
| +})();
|
| +
|
| +(function TestInnerInnerArrowFunctionParameter() {
|
| var a = 1;
|
| var b = 2;
|
| var c = 3;
|
| @@ -153,7 +281,7 @@
|
| }
|
| })();
|
|
|
| -(function TestInnerArrowFunctionRestParameter() {
|
| +(function TestInnerInnerArrowFunctionRestParameter() {
|
| var a = 1;
|
| var b = 2;
|
| var c = 3;
|
| @@ -170,6 +298,40 @@
|
| }
|
| })();
|
|
|
| +(function TestInnerInnerArrowFunctionDestructuredParameter_1() {
|
| + var a = 1;
|
| + var b = 2;
|
| + var c = 3;
|
| + function inner() {
|
| + var f = ([d, a]) => a + b + c;
|
| + }
|
| + for (var i = 0; i < 3; ++i) {
|
| + if (i == 1) {
|
| + %OptimizeOsr();
|
| + }
|
| + assertEquals(1, a);
|
| + assertEquals(2, b);
|
| + assertEquals(3, c);
|
| + }
|
| +})();
|
| +
|
| +(function TestInnerInnerArrowFunctionDestructuredParameter_2() {
|
| + var a = 1;
|
| + var b = 2;
|
| + var c = 3;
|
| + function inner() {
|
| + var f = ({d, a}) => a + b + c;
|
| + }
|
| + for (var i = 0; i < 3; ++i) {
|
| + if (i == 1) {
|
| + %OptimizeOsr();
|
| + }
|
| + assertEquals(1, a);
|
| + assertEquals(2, b);
|
| + assertEquals(3, c);
|
| + }
|
| +})();
|
| +
|
| (function TestInnerFunctionInnerFunction() {
|
| var a = 1;
|
| var b = 2;
|
| @@ -605,24 +767,90 @@
|
| }
|
| })();
|
|
|
| -(function TestRegress650969_9() {
|
| +(function TestRegress650969_9_parameter() {
|
| + for (var i = 0; i < 3; ++i) {
|
| + if (i == 1) {
|
| + %OptimizeOsr();
|
| + }
|
| + var a;
|
| + function inner(a) {}
|
| + }
|
| +})();
|
| +
|
| +(function TestRegress650969_9_restParameter() {
|
| + for (var i = 0; i < 3; ++i) {
|
| + if (i == 1) {
|
| + %OptimizeOsr();
|
| + }
|
| + var a;
|
| + function inner(...a) {}
|
| + }
|
| +})();
|
| +
|
| +(function TestRegress650969_9_destructuredParameter_1() {
|
| + for (var i = 0; i < 3; ++i) {
|
| + if (i == 1) {
|
| + %OptimizeOsr();
|
| + }
|
| + var a;
|
| + function inner([d, a]) {}
|
| + }
|
| +})();
|
| +
|
| +(function TestRegress650969_9_destructuredParameter_2() {
|
| + for (var i = 0; i < 3; ++i) {
|
| + if (i == 1) {
|
| + %OptimizeOsr();
|
| + }
|
| + var a;
|
| + function inner({d, a}) {}
|
| + }
|
| +})();
|
| +
|
| +(function TestRegress650969_10_parameter() {
|
| + for (var i = 0; i < 3; ++i) {
|
| + if (i == 1) {
|
| + %OptimizeOsr();
|
| + }
|
| + var a;
|
| + function inner() {
|
| + function innerinner(a) {}
|
| + }
|
| + }
|
| +})();
|
| +
|
| +(function TestRegress650969_10_restParameter() {
|
| for (var i = 0; i < 3; ++i) {
|
| if (i == 1) {
|
| %OptimizeOsr();
|
| }
|
| var a;
|
| - function inner(a) {
|
| + function inner() {
|
| + function innerinner(...a) {}
|
| }
|
| }
|
| })();
|
|
|
| -(function TestRegress650969_10() {
|
| +(function TestRegress650969_10_destructuredParameter_1() {
|
| for (var i = 0; i < 3; ++i) {
|
| if (i == 1) {
|
| %OptimizeOsr();
|
| }
|
| var a;
|
| - function inner(...a) {
|
| + function inner() {
|
| + function innerinner([d, a]) {}
|
| + }
|
| + }
|
| +})();
|
| +
|
| +(function TestRegress650969_10_destructuredParameter_2() {
|
| + for (var i = 0; i < 3; ++i) {
|
| + if (i == 1) {
|
| + %OptimizeOsr();
|
| + }
|
| + var a;
|
| + function inner() {
|
| + function innerinner({d, a}) {}
|
| }
|
| }
|
| })();
|
| @@ -879,6 +1107,30 @@
|
| }
|
| })();
|
|
|
| +(function TestRegress650969_18() {
|
| + for (var i = 0; i < 3; ++i) {
|
| + if (i == 1) {
|
| + %OptimizeOsr();
|
| + }
|
| + var a;
|
| + function inner() {
|
| + function innerinner([a, b]) {}
|
| + }
|
| + }
|
| +})();
|
| +
|
| +(function TestRegress650969_18() {
|
| + for (var i = 0; i < 3; ++i) {
|
| + if (i == 1) {
|
| + %OptimizeOsr();
|
| + }
|
| + var a;
|
| + function inner() {
|
| + function innerinner(a) {}
|
| + }
|
| + }
|
| +})();
|
| +
|
| // Regression tests for an intermediate stage where unresolved references were
|
| // discarded too aggressively.
|
| (function TestRegress650969_sidetrack_var() {
|
|
|