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..7c75a597e569c5f45b787f992884908c262d5ce8 100644 |
--- a/test/mjsunit/array-constructor-feedback.js |
+++ b/test/mjsunit/array-constructor-feedback.js |
@@ -26,7 +26,10 @@ |
// 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 |
+ |
+assertFalse(isNeverOptimize()); |
+assertFalse(isAlwaysOptimize()); |
// Test element kind of objects. |
@@ -72,7 +75,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 +84,16 @@ 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); |
})(); |
@@ -141,17 +142,15 @@ 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); |
})(); |
@@ -180,7 +179,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 +191,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. |