diff options
Diffstat (limited to 'deps/v8/test/mjsunit/fixed-context-shapes-when-recompiling.js')
-rw-r--r-- | deps/v8/test/mjsunit/fixed-context-shapes-when-recompiling.js | 264 |
1 files changed, 258 insertions, 6 deletions
diff --git a/deps/v8/test/mjsunit/fixed-context-shapes-when-recompiling.js b/deps/v8/test/mjsunit/fixed-context-shapes-when-recompiling.js index 6afc07a488..b78b5562bf 100644 --- a/deps/v8/test/mjsunit/fixed-context-shapes-when-recompiling.js +++ b/deps/v8/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() { |