| Index: src/ic/ia32/ic-ia32.cc
|
| diff --git a/src/ic/ia32/ic-ia32.cc b/src/ic/ia32/ic-ia32.cc
|
| index c7dad0f25c1627c045ac30690a979bcf5cb9e039..4dd1a934cf425e4a6639d003a41a7c72ef623e6c 100644
|
| --- a/src/ic/ia32/ic-ia32.cc
|
| +++ b/src/ic/ia32/ic-ia32.cc
|
| @@ -8,6 +8,7 @@
|
|
|
| #include "src/codegen.h"
|
| #include "src/ic/ic.h"
|
| +#include "src/ic/ic-compiler.h"
|
| #include "src/ic/stub-cache.h"
|
|
|
| namespace v8 {
|
| @@ -777,7 +778,7 @@ void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm,
|
|
|
| // Slow case: call runtime.
|
| __ bind(&slow);
|
| - GenerateRuntimeSetProperty(masm, strict_mode);
|
| + PropertyICCompiler::GenerateRuntimeSetProperty(masm, strict_mode);
|
|
|
| // Extra capacity case: Check if there is extra capacity to
|
| // perform the store and update the length. Used for adding one
|
| @@ -1006,40 +1007,6 @@ void StoreIC::GenerateNormal(MacroAssembler* masm) {
|
| }
|
|
|
|
|
| -void StoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
|
| - StrictMode strict_mode) {
|
| - // Return address is on the stack.
|
| - DCHECK(!ebx.is(ReceiverRegister()) && !ebx.is(NameRegister()) &&
|
| - !ebx.is(ValueRegister()));
|
| - __ pop(ebx);
|
| - __ push(ReceiverRegister());
|
| - __ push(NameRegister());
|
| - __ push(ValueRegister());
|
| - __ push(Immediate(Smi::FromInt(strict_mode)));
|
| - __ push(ebx); // return address
|
| -
|
| - // Do tail-call to runtime routine.
|
| - __ TailCallRuntime(Runtime::kSetProperty, 4, 1);
|
| -}
|
| -
|
| -
|
| -void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
|
| - StrictMode strict_mode) {
|
| - // Return address is on the stack.
|
| - DCHECK(!ebx.is(ReceiverRegister()) && !ebx.is(NameRegister()) &&
|
| - !ebx.is(ValueRegister()));
|
| - __ pop(ebx);
|
| - __ push(ReceiverRegister());
|
| - __ push(NameRegister());
|
| - __ push(ValueRegister());
|
| - __ push(Immediate(Smi::FromInt(strict_mode)));
|
| - __ push(ebx); // return address
|
| -
|
| - // Do tail-call to runtime routine.
|
| - __ TailCallRuntime(Runtime::kSetProperty, 4, 1);
|
| -}
|
| -
|
| -
|
| void KeyedStoreIC::GenerateMiss(MacroAssembler* masm) {
|
| // Return address is on the stack.
|
| StoreIC_PushArgs(masm);
|
|
|