| Index: src/ic/x64/ic-compiler-x64.cc
|
| diff --git a/src/ic/x64/ic-compiler-x64.cc b/src/ic/x64/ic-compiler-x64.cc
|
| index 5e6f2254660504e5a776716b658ace24c98017bc..b9fe4788516f9ae1042c0387fd273f25e32f39c6 100644
|
| --- a/src/ic/x64/ic-compiler-x64.cc
|
| +++ b/src/ic/x64/ic-compiler-x64.cc
|
| @@ -968,6 +968,24 @@ void ElementHandlerCompiler::GenerateLoadDictionaryElement(
|
| }
|
|
|
|
|
| +void PropertyICCompiler::GenerateRuntimeSetProperty(MacroAssembler* masm,
|
| + StrictMode strict_mode) {
|
| + // Return address is on the stack.
|
| + DCHECK(!rbx.is(StoreIC::ReceiverRegister()) &&
|
| + !rbx.is(StoreIC::NameRegister()) && !rbx.is(StoreIC::ValueRegister()));
|
| +
|
| + __ PopReturnAddressTo(rbx);
|
| + __ Push(StoreIC::ReceiverRegister());
|
| + __ Push(StoreIC::NameRegister());
|
| + __ Push(StoreIC::ValueRegister());
|
| + __ Push(Smi::FromInt(strict_mode));
|
| + __ PushReturnAddressFrom(rbx);
|
| +
|
| + // Do tail-call to runtime routine.
|
| + __ TailCallRuntime(Runtime::kSetProperty, 4, 1);
|
| +}
|
| +
|
| +
|
| #undef __
|
| }
|
| } // namespace v8::internal
|
|
|