| Index: test/mjsunit/array-natives-elements.js
|
| diff --git a/test/mjsunit/array-natives-elements.js b/test/mjsunit/array-natives-elements.js
|
| index a19a931adbf5ebee90cc50af5b66a37a8fbc85bf..9980dfcdb75f5d28070d15852f4bd1accf3a2714 100644
|
| --- a/test/mjsunit/array-natives-elements.js
|
| +++ b/test/mjsunit/array-natives-elements.js
|
| @@ -30,7 +30,7 @@
|
| // IC and Crankshaft support for smi-only elements in dynamic array literals.
|
| function get(foo) { return foo; } // Used to generate dynamic values.
|
|
|
| -function array_natives_test() {
|
| +function array_natives_test(optimized) {
|
|
|
| // Ensure small array literals start in specific element kind mode.
|
| assertTrue(%HasFastSmiElements([]));
|
| @@ -151,28 +151,26 @@ function array_natives_test() {
|
| assertTrue(%HasFastSmiElements(a3));
|
| assertEquals([1], a3r);
|
| assertEquals([2, 2, 3], a3);
|
| -
|
| a3 = [1.1,2,3];
|
| a3r = a3.splice(0, 0);
|
| assertTrue(%HasFastDoubleElements(a3r));
|
| assertTrue(%HasFastDoubleElements(a3));
|
| assertEquals([], a3r);
|
| assertEquals([1.1, 2, 3], a3);
|
| - a3 = [1.1,2,3];
|
| + a3 = [1.1, 2, 3];
|
| a3r = a3.splice(0, 1);
|
| assertTrue(%HasFastDoubleElements(a3r));
|
| assertTrue(%HasFastDoubleElements(a3));
|
| assertEquals([1.1], a3r);
|
| assertEquals([2, 3], a3);
|
| - a3 = [1.1,2,3];
|
| + a3 = [1.1, 2, 3];
|
| a3r = a3.splice(0, 0, 2);
|
| - // Commented out since handled in js, which takes the best fit.
|
| - // assertTrue(%HasFastDoubleElements(a3r));
|
| - assertTrue(%HasFastSmiElements(a3r));
|
| + assertTrue(%HasFastDoubleElements(a3r));
|
| assertTrue(%HasFastDoubleElements(a3));
|
| assertEquals([], a3r);
|
| assertEquals([2, 1.1, 2, 3], a3);
|
| - a3 = [1.1,2,3];
|
| + a3 = [1.1, 2, 3];
|
| + assertTrue(%HasFastDoubleElements(a3));
|
| a3r = a3.splice(0, 1, 2);
|
| assertTrue(%HasFastDoubleElements(a3r));
|
| assertTrue(%HasFastDoubleElements(a3));
|
| @@ -180,9 +178,7 @@ function array_natives_test() {
|
| assertEquals([2, 2, 3], a3);
|
| a3 = [1.1,2,3];
|
| a3r = a3.splice(0, 0, 2.1);
|
| - // Commented out since handled in js, which takes the best fit.
|
| - // assertTrue(%HasFastDoubleElements(a3r));
|
| - assertTrue(%HasFastSmiElements(a3r));
|
| + assertTrue(%HasFastDoubleElements(a3r));
|
| assertTrue(%HasFastDoubleElements(a3));
|
| assertEquals([], a3r);
|
| assertEquals([2.1, 1.1, 2, 3], a3);
|
| @@ -194,9 +190,7 @@ function array_natives_test() {
|
| assertEquals([2.2, 2, 3], a3);
|
| a3 = [1,2,3];
|
| a3r = a3.splice(0, 0, 2.1);
|
| - // Commented out since handled in js, which takes the best fit.
|
| - // assertTrue(%HasFastDoubleElements(a3r));
|
| - assertTrue(%HasFastSmiElements(a3r));
|
| + assertTrue(%HasFastDoubleElements(a3r));
|
| assertTrue(%HasFastDoubleElements(a3));
|
| assertEquals([], a3r);
|
| assertEquals([2.1, 1, 2, 3], a3);
|
| @@ -206,7 +200,6 @@ function array_natives_test() {
|
| assertTrue(%HasFastDoubleElements(a3));
|
| assertEquals([1], a3r);
|
| assertEquals([2.2, 2, 3], a3);
|
| -
|
| a3 = [{},2,3];
|
| a3r = a3.splice(0, 0);
|
| assertTrue(%HasFastObjectElements(a3r));
|
| @@ -231,7 +224,6 @@ function array_natives_test() {
|
| assertTrue(%HasFastObjectElements(a3));
|
| assertEquals([1], a3r);
|
| assertEquals([{}, 2, 3], a3);
|
| -
|
| a3 = [1.1,2,3];
|
| a3r = a3.splice(0, 0, {});
|
| assertTrue(%HasFastObjectElements(a3r));
|
| @@ -244,6 +236,19 @@ function array_natives_test() {
|
| assertTrue(%HasFastObjectElements(a3));
|
| assertEquals([1.1], a3r);
|
| assertEquals([{}, 2, 3], a3);
|
| + a3 = [1.1, 2.2, 3.3];
|
| + a3r = a3.splice(2, 1);
|
| + assertTrue(%HasFastDoubleElements(a3r));
|
| + assertTrue(%HasFastDoubleElements(a3));
|
| + assertEquals([3.3], a3r);
|
| + //assertTrue(%HasFastDoubleElements(a3r));
|
| + assertEquals([1.1, 2.2], a3);
|
| + //assertTrue(%HasFastDoubleElements(a3r));
|
| + a3r = a3.splice(1, 1, 4.4, 5.5);
|
| + //assertTrue(%HasFastDoubleElements(a3r));
|
| + //assertTrue(%HasFastDoubleElements(a3));
|
| + assertEquals([2.2], a3r);
|
| + assertEquals([1.1, 4.4, 5.5], a3);
|
|
|
| // Pop
|
| var a4 = [1,2,3];
|
| @@ -291,7 +296,7 @@ function array_natives_test() {
|
| }
|
|
|
| for (var i = 0; i < 3; i++) {
|
| - array_natives_test();
|
| + array_natives_test(false);
|
| }
|
| %OptimizeFunctionOnNextCall(array_natives_test);
|
| -array_natives_test();
|
| +array_natives_test(true);
|
|
|