Index: test/mjsunit/array-constructor-feedback.js |
diff --git a/test/mjsunit/array-constructor-feedback.js b/test/mjsunit/array-constructor-feedback.js |
index 865b8ba44fc06bcfcdbe3105fae0c067bf0ba281..45ea0d53e107077bda59080854d9e375cd6ad7b0 100644 |
--- a/test/mjsunit/array-constructor-feedback.js |
+++ b/test/mjsunit/array-constructor-feedback.js |
@@ -26,7 +26,7 @@ |
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
// Flags: --allow-natives-syntax --expose-gc |
-// Flags: --noalways-opt |
+// Flags: --no-always-opt --crankshaft |
// Test element kind of objects. |
@@ -72,7 +72,7 @@ function assertKind(expected, obj, name_opt) { |
a[0] = 3.5; |
b = bar0(Array); |
assertKind(elements_kind.fast_double, b); |
- %OptimizeFunctionOnNextCall(bar0); |
+ %OptimizeFunctionOnNextCall(bar0); |
b = bar0(Array); |
assertKind(elements_kind.fast_double, b); |
assertOptimized(bar0); |
@@ -81,18 +81,15 @@ function assertKind(expected, obj, name_opt) { |
assertUnoptimized(bar0) |
// When it's re-optimized, we should call through the full stub |
bar0(Array); |
- %OptimizeFunctionOnNextCall(bar0); |
+ %OptimizeFunctionOnNextCall(bar0); |
b = bar0(Array); |
- // This only makes sense to test if we allow crankshafting |
- if (4 != %GetOptimizationStatus(bar0)) { |
- // We also lost our ability to record kind feedback, as the site |
- // is megamorphic now. |
- assertKind(elements_kind.fast_smi_only, b); |
- assertOptimized(bar0); |
- b[0] = 3.5; |
- c = bar0(Array); |
- assertKind(elements_kind.fast_smi_only, c); |
- } |
+ // We also lost our ability to record kind feedback, as the site |
+ // is megamorphic now. |
+ assertKind(elements_kind.fast_smi_only, b); |
+ assertOptimized(bar0); |
+ b[0] = 3.5; |
+ c = bar0(Array); |
+ assertKind(elements_kind.fast_smi_only, c); |
})(); |
@@ -106,7 +103,7 @@ function assertKind(expected, obj, name_opt) { |
a[0] = "a string"; |
a = bar(10); |
assertKind(elements_kind.fast, a); |
- %OptimizeFunctionOnNextCall(bar); |
+ %OptimizeFunctionOnNextCall(bar); |
a = bar(10); |
assertKind(elements_kind.fast, a); |
assertOptimized(bar); |
@@ -124,7 +121,7 @@ function assertKind(expected, obj, name_opt) { |
barn(1, 2, 3); |
barn(1, 2, 3); |
- %OptimizeFunctionOnNextCall(barn); |
+ %OptimizeFunctionOnNextCall(barn); |
barn(1, 2, 3); |
assertOptimized(barn); |
a = barn(1, "oops", 3); |
@@ -141,17 +138,14 @@ function assertKind(expected, obj, name_opt) { |
} |
a = bar(); |
bar(); |
- %OptimizeFunctionOnNextCall(bar); |
+ %OptimizeFunctionOnNextCall(bar); |
b = bar(); |
- // This only makes sense to test if we allow crankshafting |
- if (4 != %GetOptimizationStatus(bar)) { |
- assertOptimized(bar); |
- %DebugPrint(3); |
- b[0] = 3.5; |
- c = bar(); |
- assertKind(elements_kind.fast_smi_only, c); |
- assertOptimized(bar); |
- } |
+ assertOptimized(bar); |
+ %DebugPrint(3); |
+ b[0] = 3.5; |
+ c = bar(); |
+ assertKind(elements_kind.fast_smi_only, c); |
+ assertOptimized(bar); |
})(); |
@@ -161,7 +155,7 @@ function assertKind(expected, obj, name_opt) { |
function bar() { return new Array(); } |
bar(); |
bar(); |
- %OptimizeFunctionOnNextCall(bar); |
+ %OptimizeFunctionOnNextCall(bar); |
a = bar(); |
assertTrue(a instanceof Array); |
@@ -180,7 +174,7 @@ function assertKind(expected, obj, name_opt) { |
function bar(len) { return new Array(len); } |
bar(0); |
bar(0); |
- %OptimizeFunctionOnNextCall(bar); |
+ %OptimizeFunctionOnNextCall(bar); |
a = bar(0); |
assertOptimized(bar); |
assertFalse(isHoley(a)); |
@@ -192,10 +186,8 @@ function assertKind(expected, obj, name_opt) { |
a = bar(0); |
assertOptimized(bar); |
// Crankshafted functions don't use mementos, so feedback still |
- // indicates a packed array is desired. (unless --nocrankshaft is in use). |
- if (4 != %GetOptimizationStatus(bar)) { |
- assertFalse(isHoley(a)); |
- } |
+ // indicates a packed array is desired. |
+ assertFalse(isHoley(a)); |
})(); |
// Test: Make sure that crankshaft continues with feedback for large arrays. |