| Index: src/ia32/lithium-codegen-ia32.cc
|
| diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc
|
| index f26eeac7740ee8c21877df3aafc1f354d53d7f68..cc479d5844f797f7f4be1e6b5a5128775d57af06 100644
|
| --- a/src/ia32/lithium-codegen-ia32.cc
|
| +++ b/src/ia32/lithium-codegen-ia32.cc
|
| @@ -3202,10 +3202,9 @@ void LCodeGen::DoLoadGlobalGeneric(LLoadGlobalGeneric* instr) {
|
| ASSERT(ToRegister(instr->result()).is(eax));
|
|
|
| __ mov(ecx, instr->name());
|
| - RelocInfo::Mode mode = instr->for_typeof() ? RelocInfo::CODE_TARGET :
|
| - RelocInfo::CODE_TARGET_CONTEXT;
|
| - Handle<Code> ic = isolate()->builtins()->LoadIC_Initialize();
|
| - CallCode(ic, mode, instr);
|
| + ContextualMode mode = instr->for_typeof() ? NOT_CONTEXTUAL : CONTEXTUAL;
|
| + Handle<Code> ic = LoadIC::initialize_stub(isolate(), mode);
|
| + CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
| }
|
|
|
|
|
| @@ -3234,10 +3233,10 @@ void LCodeGen::DoStoreGlobalGeneric(LStoreGlobalGeneric* instr) {
|
| ASSERT(ToRegister(instr->value()).is(eax));
|
|
|
| __ mov(ecx, instr->name());
|
| - Handle<Code> ic = (instr->strict_mode_flag() == kStrictMode)
|
| - ? isolate()->builtins()->StoreIC_Initialize_Strict()
|
| - : isolate()->builtins()->StoreIC_Initialize();
|
| - CallCode(ic, RelocInfo::CODE_TARGET_CONTEXT, instr);
|
| + Handle<Code> ic = StoreIC::initialize_stub(isolate(),
|
| + instr->strict_mode_flag(),
|
| + CONTEXTUAL);
|
| + CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
| }
|
|
|
|
|
| @@ -3356,7 +3355,7 @@ void LCodeGen::DoLoadNamedGeneric(LLoadNamedGeneric* instr) {
|
| ASSERT(ToRegister(instr->result()).is(eax));
|
|
|
| __ mov(ecx, instr->name());
|
| - Handle<Code> ic = isolate()->builtins()->LoadIC_Initialize();
|
| + Handle<Code> ic = LoadIC::initialize_stub(isolate(), NOT_CONTEXTUAL);
|
| CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
| }
|
|
|
| @@ -4302,11 +4301,10 @@ void LCodeGen::DoCallNamed(LCallNamed* instr) {
|
| ASSERT(ToRegister(instr->result()).is(eax));
|
|
|
| int arity = instr->arity();
|
| - RelocInfo::Mode mode = RelocInfo::CODE_TARGET;
|
| Handle<Code> ic =
|
| - isolate()->stub_cache()->ComputeCallInitialize(arity, mode);
|
| + isolate()->stub_cache()->ComputeCallInitialize(arity, NOT_CONTEXTUAL);
|
| __ mov(ecx, instr->name());
|
| - CallCode(ic, mode, instr);
|
| + CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
| }
|
|
|
|
|
| @@ -4331,11 +4329,10 @@ void LCodeGen::DoCallGlobal(LCallGlobal* instr) {
|
| ASSERT(ToRegister(instr->result()).is(eax));
|
|
|
| int arity = instr->arity();
|
| - RelocInfo::Mode mode = RelocInfo::CODE_TARGET_CONTEXT;
|
| Handle<Code> ic =
|
| - isolate()->stub_cache()->ComputeCallInitialize(arity, mode);
|
| + isolate()->stub_cache()->ComputeCallInitialize(arity, CONTEXTUAL);
|
| __ mov(ecx, instr->name());
|
| - CallCode(ic, mode, instr);
|
| + CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
| }
|
|
|
|
|
| @@ -4567,9 +4564,9 @@ void LCodeGen::DoStoreNamedGeneric(LStoreNamedGeneric* instr) {
|
| ASSERT(ToRegister(instr->value()).is(eax));
|
|
|
| __ mov(ecx, instr->name());
|
| - Handle<Code> ic = (instr->strict_mode_flag() == kStrictMode)
|
| - ? isolate()->builtins()->StoreIC_Initialize_Strict()
|
| - : isolate()->builtins()->StoreIC_Initialize();
|
| + Handle<Code> ic = StoreIC::initialize_stub(isolate(),
|
| + instr->strict_mode_flag(),
|
| + NOT_CONTEXTUAL);
|
| CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
| }
|
|
|
|
|