Index: src/x64/stub-cache-x64.cc |
diff --git a/src/x64/stub-cache-x64.cc b/src/x64/stub-cache-x64.cc |
index 39ff656ec45be81f7fa5c9c633b4dbe92c227981..c94a75749f2a6282b0a3a7983389442f1889ab82 100644 |
--- a/src/x64/stub-cache-x64.cc |
+++ b/src/x64/stub-cache-x64.cc |
@@ -830,11 +830,11 @@ void BaseStoreStubCompiler::GenerateStoreTransition(MacroAssembler* masm, |
object->map()->unused_property_fields() == 0) { |
// The properties must be extended before we can store the value. |
// We jump to a runtime call that extends the properties array. |
- __ pop(scratch1); // Return address. |
+ __ PopReturnAddressTo(scratch1); |
__ push(receiver_reg); |
__ Push(transition); |
__ push(value_reg); |
- __ push(scratch1); |
+ __ PushReturnAddressFrom(scratch1); |
__ TailCallExternalReference( |
ExternalReference(IC_Utility(IC::kSharedStoreIC_ExtendStorage), |
masm->isolate()), |
@@ -1284,7 +1284,7 @@ void BaseLoadStubCompiler::GenerateLoadCallback( |
Handle<ExecutableAccessorInfo> callback) { |
// Insert additional parameters into the stack frame above return address. |
ASSERT(!scratch4().is(reg)); |
- __ pop(scratch4()); // Get return address to place it below. |
+ __ PopReturnAddressTo(scratch4()); |
__ push(receiver()); // receiver |
__ push(reg); // holder |
@@ -1324,7 +1324,7 @@ void BaseLoadStubCompiler::GenerateLoadCallback( |
ASSERT(!name_arg.is(scratch4())); |
__ movq(name_arg, rsp); |
- __ push(scratch4()); // Restore return address. |
+ __ PushReturnAddressFrom(scratch4()); |
// v8::Arguments::values_ and handler for name. |
const int kStackSpace = PropertyCallbackArguments::kArgsLength + 1; |
@@ -1444,10 +1444,10 @@ void BaseLoadStubCompiler::GenerateLoadInterceptor( |
} else { // !compile_followup_inline |
// Call the runtime system to load the interceptor. |
// Check that the maps haven't changed. |
- __ pop(scratch2()); // save old return address |
+ __ PopReturnAddressTo(scratch2()); |
PushInterceptorArguments(masm(), receiver(), holder_reg, |
this->name(), interceptor_holder); |
- __ push(scratch2()); // restore old return address |
+ __ PushReturnAddressFrom(scratch2()); |
ExternalReference ref = ExternalReference( |
IC_Utility(IC::kLoadPropertyWithInterceptorForLoad), isolate()); |
@@ -2650,12 +2650,12 @@ Handle<Code> StoreStubCompiler::CompileStoreCallback( |
HandlerFrontend(object, receiver(), holder, name, &success); |
__ bind(&success); |
- __ pop(scratch1()); // remove the return address |
+ __ PopReturnAddressTo(scratch1()); |
__ push(receiver()); |
__ Push(callback); // callback info |
__ Push(name); |
__ push(value()); |
- __ push(scratch1()); // restore return address |
+ __ PushReturnAddressFrom(scratch1()); |
// Do tail-call to the runtime system. |
ExternalReference store_callback_property = |
@@ -2717,12 +2717,12 @@ void StoreStubCompiler::GenerateStoreViaSetter( |
Handle<Code> StoreStubCompiler::CompileStoreInterceptor( |
Handle<JSObject> object, |
Handle<Name> name) { |
- __ pop(scratch1()); // remove the return address |
+ __ PopReturnAddressTo(scratch1()); |
__ push(receiver()); |
__ push(this->name()); |
__ push(value()); |
__ Push(Smi::FromInt(strict_mode())); |
- __ push(scratch1()); // restore return address |
+ __ PushReturnAddressFrom(scratch1()); |
// Do tail-call to the runtime system. |
ExternalReference store_ic_property = |