Commit 93559bb6 authored by danno@chromium.org's avatar danno@chromium.org

Attempt to fix Windows x64 build.

R=jkummerow@chromium.org
BUG=none
TEST=none

Review URL: http://codereview.chromium.org/8495012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 0d536dec
...@@ -7071,7 +7071,7 @@ void StoreArrayLiteralElementStub::Generate(MacroAssembler* masm) { ...@@ -7071,7 +7071,7 @@ void StoreArrayLiteralElementStub::Generate(MacroAssembler* masm) {
__ push(edx); __ push(edx);
__ push(edi); // Return return address so that tail call returns to right __ push(edi); // Return return address so that tail call returns to right
// place. // place.
__ TailCallRuntime(Runtime::kStoreArrayLiteralElement, 5, 1); __ TailCallRuntime(Runtime::kStoreArrayLiteralElement, 5, 0);
if (!FLAG_trace_elements_transitions) { if (!FLAG_trace_elements_transitions) {
// Array literal has ElementsKind of FAST_DOUBLE_ELEMENTS. // Array literal has ElementsKind of FAST_DOUBLE_ELEMENTS.
......
...@@ -5990,26 +5990,26 @@ void StoreArrayLiteralElementStub::Generate(MacroAssembler* masm) { ...@@ -5990,26 +5990,26 @@ void StoreArrayLiteralElementStub::Generate(MacroAssembler* masm) {
__ push(rdx); __ push(rdx);
__ push(rdi); // Return return address so that tail call returns to right __ push(rdi); // Return return address so that tail call returns to right
// place. // place.
__ TailCallRuntime(Runtime::kStoreArrayLiteralElement, 5, 1); __ TailCallRuntime(Runtime::kStoreArrayLiteralElement, 5, 0);
if (!FLAG_trace_elements_transitions) { if (!FLAG_trace_elements_transitions) {
// Array literal has ElementsKind of FAST_DOUBLE_ELEMENTS. // Array literal has ElementsKind of FAST_DOUBLE_ELEMENTS.
__ bind(&double_elements); __ bind(&double_elements);
__ movq(r9, FieldOperand(rbx, JSObject::kElementsOffset)); __ movq(r9, FieldOperand(rbx, JSObject::kElementsOffset));
__ SmiToInteger32(r10, rcx); __ SmiToInteger32(r11, rcx);
__ StoreNumberToDoubleElements(rax, __ StoreNumberToDoubleElements(rax,
r9, r9,
r10, r11,
xmm0, xmm0,
&slow_elements); &slow_elements);
__ jmp(&element_done); __ jmp(&element_done);
// Array literal has ElementsKind of FAST_ELEMENTS and value is an object. // Array literal has ElementsKind of FAST_ELEMENTS and value is an object.
__ bind(&fast_elements); __ bind(&fast_elements);
__ SmiToInteger32(r10, rcx); __ SmiToInteger32(kScratchRegister, rcx);
__ movq(rbx, FieldOperand(rbx, JSObject::kElementsOffset)); __ movq(rbx, FieldOperand(rbx, JSObject::kElementsOffset));
__ lea(rcx, FieldOperand(rbx, r10, times_pointer_size, __ lea(rcx, FieldOperand(rbx, kScratchRegister, times_pointer_size,
FixedArrayBase::kHeaderSize)); FixedArrayBase::kHeaderSize));
__ movq(Operand(rcx, 0), rax); __ movq(Operand(rcx, 0), rax);
// Update the write barrier for the array store. // Update the write barrier for the array store.
...@@ -6022,9 +6022,9 @@ void StoreArrayLiteralElementStub::Generate(MacroAssembler* masm) { ...@@ -6022,9 +6022,9 @@ void StoreArrayLiteralElementStub::Generate(MacroAssembler* masm) {
// Array literal has ElementsKind of FAST_SMI_ONLY_ELEMENTS or // Array literal has ElementsKind of FAST_SMI_ONLY_ELEMENTS or
// FAST_ELEMENTS, and value is Smi. // FAST_ELEMENTS, and value is Smi.
__ bind(&smi_element); __ bind(&smi_element);
__ SmiToInteger32(r10, rcx); __ SmiToInteger32(kScratchRegister, rcx);
__ movq(rbx, FieldOperand(rbx, JSObject::kElementsOffset)); __ movq(rbx, FieldOperand(rbx, JSObject::kElementsOffset));
__ movq(FieldOperand(rbx, r10, times_pointer_size, __ movq(FieldOperand(rbx, kScratchRegister, times_pointer_size,
FixedArrayBase::kHeaderSize), rax); FixedArrayBase::kHeaderSize), rax);
// Fall through // Fall through
__ bind(&element_done); __ bind(&element_done);
......
...@@ -1496,7 +1496,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) { ...@@ -1496,7 +1496,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
__ movq(rbx, Operand(rsp, 0)); // Copy of array literal. __ movq(rbx, Operand(rsp, 0)); // Copy of array literal.
__ movq(rdi, FieldOperand(rbx, JSObject::kMapOffset)); __ movq(rdi, FieldOperand(rbx, JSObject::kMapOffset));
__ Move(rcx, Smi::FromInt(i)); __ Move(rcx, Smi::FromInt(i));
__ movq(rdx, Immediate(expr->literal_index())); __ Move(rdx, Smi::FromInt(expr->literal_index()));
StoreArrayLiteralElementStub stub; StoreArrayLiteralElementStub stub;
__ CallStub(&stub); __ CallStub(&stub);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment