| Index: src/ic/ia32/ic-compiler-ia32.cc
|
| diff --git a/src/ic/ia32/ic-compiler-ia32.cc b/src/ic/ia32/ic-compiler-ia32.cc
|
| index 1a01a83349c2e0af86a1914ee4eed0cb4f9fa8e4..7ed1f8d07e11bf2cb6fa2bfefd1d95d88eafb43f 100644
|
| --- a/src/ic/ia32/ic-compiler-ia32.cc
|
| +++ b/src/ic/ia32/ic-compiler-ia32.cc
|
| @@ -979,6 +979,23 @@ void ElementHandlerCompiler::GenerateLoadDictionaryElement(
|
| }
|
|
|
|
|
| +void PropertyICCompiler::GenerateRuntimeSetProperty(MacroAssembler* masm,
|
| + StrictMode strict_mode) {
|
| + // Return address is on the stack.
|
| + DCHECK(!ebx.is(StoreIC::ReceiverRegister()) &&
|
| + !ebx.is(StoreIC::NameRegister()) && !ebx.is(StoreIC::ValueRegister()));
|
| + __ pop(ebx);
|
| + __ push(StoreIC::ReceiverRegister());
|
| + __ push(StoreIC::NameRegister());
|
| + __ push(StoreIC::ValueRegister());
|
| + __ push(Immediate(Smi::FromInt(strict_mode)));
|
| + __ push(ebx); // return address
|
| +
|
| + // Do tail-call to runtime routine.
|
| + __ TailCallRuntime(Runtime::kSetProperty, 4, 1);
|
| +}
|
| +
|
| +
|
| #undef __
|
| }
|
| } // namespace v8::internal
|
|
|