| Index: test/mjsunit/allocation-site-info.js
|
| diff --git a/test/mjsunit/allocation-site-info.js b/test/mjsunit/allocation-site-info.js
|
| index f4263aff0c74eec6fe08c022b14a28036d43fb4c..aa74272f8b3dc1f961e3cf8f1f330c3c8ae4148f 100644
|
| --- a/test/mjsunit/allocation-site-info.js
|
| +++ b/test/mjsunit/allocation-site-info.js
|
| @@ -75,22 +75,34 @@ function assertKind(expected, obj, name_opt) {
|
| }
|
|
|
| if (support_smi_only_arrays) {
|
| - function fastliteralcase(value) {
|
| - var literal = [1, 2, 3];
|
| + function fastliteralcase(literal, value) {
|
| + // var literal = [1, 2, 3];
|
| literal[0] = value;
|
| return literal;
|
| }
|
|
|
| + function get_standard_literal() {
|
| + var literal = [1, 2, 3];
|
| + return literal;
|
| + }
|
| +
|
| // Case: [1,2,3] as allocation site
|
| - obj = fastliteralcase(1);
|
| + obj = fastliteralcase(get_standard_literal(), 1);
|
| assertKind(elements_kind.fast_smi_only, obj);
|
| - obj = fastliteralcase(1.5);
|
| + obj = fastliteralcase(get_standard_literal(), 1.5);
|
| + assertKind(elements_kind.fast_double, obj);
|
| + obj = fastliteralcase(get_standard_literal(), 2);
|
| + assertKind(elements_kind.fast_double, obj);
|
| +
|
| + obj = fastliteralcase([5, 3, 2], 1.5);
|
| + assertKind(elements_kind.fast_double, obj);
|
| + obj = fastliteralcase([3, 6, 2], 1.5);
|
| assertKind(elements_kind.fast_double, obj);
|
| - obj = fastliteralcase(2);
|
| + obj = fastliteralcase([2, 6, 3], 2);
|
| assertKind(elements_kind.fast_double, obj);
|
|
|
| // Verify that we will not pretransition the double->fast path.
|
| - obj = fastliteralcase("elliot");
|
| + obj = fastliteralcase(get_standard_literal(), "elliot");
|
| assertKind(elements_kind.fast, obj);
|
|
|
| // This fails until we turn off optimistic transitions to the
|
|
|