__ push(rdx);
__ push(rdi); // Return return address so that tail call returns to right
// place.
- __ TailCallRuntime(Runtime::kStoreArrayLiteralElement, 5, 1);
+ __ TailCallRuntime(Runtime::kStoreArrayLiteralElement, 5, 0);
if (!FLAG_trace_elements_transitions) {
// Array literal has ElementsKind of FAST_DOUBLE_ELEMENTS.
__ bind(&double_elements);
__ movq(r9, FieldOperand(rbx, JSObject::kElementsOffset));
- __ SmiToInteger32(r10, rcx);
+ __ SmiToInteger32(r11, rcx);
__ StoreNumberToDoubleElements(rax,
r9,
- r10,
+ r11,
xmm0,
&slow_elements);
__ jmp(&element_done);
// Array literal has ElementsKind of FAST_ELEMENTS and value is an object.
__ bind(&fast_elements);
- __ SmiToInteger32(r10, rcx);
+ __ SmiToInteger32(kScratchRegister, rcx);
__ movq(rbx, FieldOperand(rbx, JSObject::kElementsOffset));
- __ lea(rcx, FieldOperand(rbx, r10, times_pointer_size,
+ __ lea(rcx, FieldOperand(rbx, kScratchRegister, times_pointer_size,
FixedArrayBase::kHeaderSize));
__ movq(Operand(rcx, 0), rax);
// Update the write barrier for the array store.
// Array literal has ElementsKind of FAST_SMI_ONLY_ELEMENTS or
// FAST_ELEMENTS, and value is Smi.
__ bind(&smi_element);
- __ SmiToInteger32(r10, rcx);
+ __ SmiToInteger32(kScratchRegister, rcx);
__ movq(rbx, FieldOperand(rbx, JSObject::kElementsOffset));
- __ movq(FieldOperand(rbx, r10, times_pointer_size,
+ __ movq(FieldOperand(rbx, kScratchRegister, times_pointer_size,
FixedArrayBase::kHeaderSize), rax);
// Fall through
__ bind(&element_done);
__ movq(rbx, Operand(rsp, 0)); // Copy of array literal.
__ movq(rdi, FieldOperand(rbx, JSObject::kMapOffset));
__ Move(rcx, Smi::FromInt(i));
- __ movq(rdx, Immediate(expr->literal_index()));
+ __ Move(rdx, Smi::FromInt(expr->literal_index()));
StoreArrayLiteralElementStub stub;
__ CallStub(&stub);