Index: src/arm/lithium-codegen-arm.cc |
diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc |
index 79b56fc077bc930918cc4b3230b31a462c534935..23fb76799ce94711bfa4943761135a2c7ad97b9c 100644 |
--- a/src/arm/lithium-codegen-arm.cc |
+++ b/src/arm/lithium-codegen-arm.cc |
@@ -2702,6 +2702,8 @@ void LCodeGen::DoLoadElements(LLoadElements* instr) { |
Map::kElementsKindBitCount); |
__ cmp(scratch, Operand(FAST_ELEMENTS)); |
__ b(eq, &done); |
+ __ cmp(scratch, Operand(FAST_HOLEY_ELEMENTS)); |
+ __ b(eq, &done); |
__ cmp(scratch, Operand(FIRST_EXTERNAL_ARRAY_ELEMENTS_KIND)); |
__ b(lt, &fail); |
__ cmp(scratch, Operand(LAST_EXTERNAL_ARRAY_ELEMENTS_KIND)); |
@@ -4675,8 +4677,8 @@ void LCodeGen::DoArrayLiteral(LArrayLiteral* instr) { |
// Deopt if the array literal boilerplate ElementsKind is of a type different |
// than the expected one. The check isn't necessary if the boilerplate has |
- // already been converted to FAST_ELEMENTS. |
- if (boilerplate_elements_kind != FAST_ELEMENTS) { |
+ // already been converted to TERMINAL_FAST_ELEMENTS_KIND. |
+ if (boilerplate_elements_kind != TERMINAL_FAST_ELEMENTS_KIND) { |
__ LoadHeapObject(r1, instr->hydrogen()->boilerplate_object()); |
// Load map into r2. |
__ ldr(r2, FieldMemOperand(r1, HeapObject::kMapOffset)); |