Index: src/arm/code-stubs-arm.cc |
diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc |
index ed340ff1937507931921549a1de8bac9fa1e6001..d0f24f020e869707c3af5eeb1b946220be206835 100644 |
--- a/src/arm/code-stubs-arm.cc |
+++ b/src/arm/code-stubs-arm.cc |
@@ -200,7 +200,7 @@ static void InitializeArrayConstructorDescriptor( |
// register state |
// r0 -- number of arguments |
// r1 -- function |
- // r2 -- type info cell with elements kind |
+ // r2 -- allocation site with elements kind |
static Register registers_variable_args[] = { r1, r2, r0 }; |
static Register registers_no_args[] = { r1, r2 }; |
@@ -5580,7 +5580,7 @@ static void CreateArrayDispatch(MacroAssembler* masm, |
static void CreateArrayDispatchOneArgument(MacroAssembler* masm, |
AllocationSiteOverrideMode mode) { |
- // r2 - type info cell (if mode != DISABLE_ALLOCATION_SITES) |
+ // r2 - allocation site (if mode != DISABLE_ALLOCATION_SITES) |
// r3 - kind (if mode != DISABLE_ALLOCATION_SITES) |
// r0 - number of arguments |
// r1 - constructor? |
@@ -5620,22 +5620,20 @@ static void CreateArrayDispatchOneArgument(MacroAssembler* masm, |
// We are going to create a holey array, but our kind is non-holey. |
// Fix kind and retry (only if we have an allocation site in the cell). |
__ add(r3, r3, Operand(1)); |
- __ ldr(r5, FieldMemOperand(r2, Cell::kValueOffset)); |
if (FLAG_debug_code) { |
- __ ldr(r5, FieldMemOperand(r5, 0)); |
+ __ ldr(r5, FieldMemOperand(r2, 0)); |
__ CompareRoot(r5, Heap::kAllocationSiteMapRootIndex); |
- __ Assert(eq, kExpectedAllocationSiteInCell); |
- __ ldr(r5, FieldMemOperand(r2, Cell::kValueOffset)); |
+ __ Assert(eq, kExpectedAllocationSite); |
} |
// Save the resulting elements kind in type info. We can't just store r3 |
// in the AllocationSite::transition_info field because elements kind is |
// restricted to a portion of the field...upper bits need to be left alone. |
STATIC_ASSERT(AllocationSite::ElementsKindBits::kShift == 0); |
- __ ldr(r4, FieldMemOperand(r5, AllocationSite::kTransitionInfoOffset)); |
+ __ ldr(r4, FieldMemOperand(r2, AllocationSite::kTransitionInfoOffset)); |
__ add(r4, r4, Operand(Smi::FromInt(kFastElementsKindPackedToHoley))); |
- __ str(r4, FieldMemOperand(r5, AllocationSite::kTransitionInfoOffset)); |
+ __ str(r4, FieldMemOperand(r2, AllocationSite::kTransitionInfoOffset)); |
__ bind(&normal_sequence); |
int last_index = GetSequenceIndexFromFastElementsKind( |
@@ -5759,15 +5757,15 @@ void ArrayConstructorStub::Generate(MacroAssembler* masm) { |
// Get the elements kind and case on that. |
__ CompareRoot(r2, Heap::kUndefinedValueRootIndex); |
__ b(eq, &no_info); |
- __ ldr(r3, FieldMemOperand(r2, Cell::kValueOffset)); |
+ __ ldr(r2, FieldMemOperand(r2, Cell::kValueOffset)); |
// If the type cell is undefined, or contains anything other than an |
// AllocationSite, call an array constructor that doesn't use AllocationSites. |
- __ ldr(r4, FieldMemOperand(r3, 0)); |
+ __ ldr(r4, FieldMemOperand(r2, 0)); |
__ CompareRoot(r4, Heap::kAllocationSiteMapRootIndex); |
__ b(ne, &no_info); |
- __ ldr(r3, FieldMemOperand(r3, AllocationSite::kTransitionInfoOffset)); |
+ __ ldr(r3, FieldMemOperand(r2, AllocationSite::kTransitionInfoOffset)); |
__ SmiUntag(r3); |
STATIC_ASSERT(AllocationSite::ElementsKindBits::kShift == 0); |
__ and_(r3, r3, Operand(AllocationSite::ElementsKindBits::kMask)); |