Fix r11306 to use external references on X64.

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10079004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent b32ff09a
...@@ -379,7 +379,8 @@ static void PushInterceptorArguments(MacroAssembler* masm, ...@@ -379,7 +379,8 @@ static void PushInterceptorArguments(MacroAssembler* masm,
__ push(receiver); __ push(receiver);
__ push(holder); __ push(holder);
__ push(FieldOperand(kScratchRegister, InterceptorInfo::kDataOffset)); __ push(FieldOperand(kScratchRegister, InterceptorInfo::kDataOffset));
__ push(Immediate(reinterpret_cast<intptr_t>(masm->isolate()))); __ movq(kScratchRegister, ExternalReference::isolate_address());
__ push(kScratchRegister);
} }
...@@ -475,8 +476,8 @@ static void GenerateFastApiCall(MacroAssembler* masm, ...@@ -475,8 +476,8 @@ static void GenerateFastApiCall(MacroAssembler* masm,
} else { } else {
__ Move(Operand(rsp, 3 * kPointerSize), call_data); __ Move(Operand(rsp, 3 * kPointerSize), call_data);
} }
__ movq(Operand(rsp, 4 * kPointerSize), __ movq(kScratchRegister, ExternalReference::isolate_address());
Immediate(reinterpret_cast<intptr_t>(masm->isolate()))); __ movq(Operand(rsp, 4 * kPointerSize), kScratchRegister);
// Prepare arguments. // Prepare arguments.
__ lea(rbx, Operand(rsp, 4 * kPointerSize)); __ lea(rbx, Operand(rsp, 4 * kPointerSize));
...@@ -1009,7 +1010,8 @@ void StubCompiler::GenerateLoadCallback(Handle<JSObject> object, ...@@ -1009,7 +1010,8 @@ void StubCompiler::GenerateLoadCallback(Handle<JSObject> object,
} else { } else {
__ Push(Handle<Object>(callback->data())); __ Push(Handle<Object>(callback->data()));
} }
__ push(Immediate(reinterpret_cast<intptr_t>(isolate()))); // isolate __ movq(kScratchRegister, ExternalReference::isolate_address());
__ push(kScratchRegister); // isolate
__ push(name_reg); // name __ push(name_reg); // name
// Save a pointer to where we pushed the arguments pointer. // Save a pointer to where we pushed the arguments pointer.
// This will be passed as the const AccessorInfo& to the C++ callback. // This will be passed as the const AccessorInfo& to the C++ callback.
...@@ -1184,7 +1186,8 @@ void StubCompiler::GenerateLoadInterceptor(Handle<JSObject> object, ...@@ -1184,7 +1186,8 @@ void StubCompiler::GenerateLoadInterceptor(Handle<JSObject> object,
__ push(holder_reg); __ push(holder_reg);
__ Move(holder_reg, callback); __ Move(holder_reg, callback);
__ push(FieldOperand(holder_reg, AccessorInfo::kDataOffset)); __ push(FieldOperand(holder_reg, AccessorInfo::kDataOffset));
__ push(Immediate(reinterpret_cast<intptr_t>(isolate()))); __ movq(kScratchRegister, ExternalReference::isolate_address());
__ push(kScratchRegister);
__ push(holder_reg); __ push(holder_reg);
__ push(name_reg); __ push(name_reg);
__ push(scratch2); // restore return address __ push(scratch2); // restore return address
......
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