| Index: src/x64/lithium-codegen-x64.cc
|
| diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc
|
| index 7c9949a1fad8da5b441e7ecd79d96ab41dbea073..e3fad621b03f1becb863e4fdac8da2a74c6f1a82 100644
|
| --- a/src/x64/lithium-codegen-x64.cc
|
| +++ b/src/x64/lithium-codegen-x64.cc
|
| @@ -2714,10 +2714,9 @@ void LCodeGen::DoLoadGlobalGeneric(LLoadGlobalGeneric* instr) {
|
| ASSERT(ToRegister(instr->result()).is(rax));
|
|
|
| __ Move(rcx, 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);
|
| }
|
|
|
|
|
| @@ -2753,10 +2752,10 @@ void LCodeGen::DoStoreGlobalGeneric(LStoreGlobalGeneric* instr) {
|
| ASSERT(ToRegister(instr->value()).is(rax));
|
|
|
| __ Move(rcx, 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);
|
| }
|
|
|
|
|
| @@ -2853,7 +2852,7 @@ void LCodeGen::DoLoadNamedGeneric(LLoadNamedGeneric* instr) {
|
| ASSERT(ToRegister(instr->result()).is(rax));
|
|
|
| __ Move(rcx, instr->name());
|
| - Handle<Code> ic = isolate()->builtins()->LoadIC_Initialize();
|
| + Handle<Code> ic = LoadIC::initialize_stub(isolate(), NOT_CONTEXTUAL);
|
| CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
| }
|
|
|
| @@ -3786,11 +3785,10 @@ void LCodeGen::DoCallNamed(LCallNamed* instr) {
|
| ASSERT(ToRegister(instr->result()).is(rax));
|
|
|
| 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);
|
| __ Move(rcx, instr->name());
|
| - CallCode(ic, mode, instr);
|
| + CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
| }
|
|
|
|
|
| @@ -3814,11 +3812,10 @@ void LCodeGen::DoCallGlobal(LCallGlobal* instr) {
|
| ASSERT(ToRegister(instr->context()).is(rsi));
|
| ASSERT(ToRegister(instr->result()).is(rax));
|
| 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);
|
| __ Move(rcx, instr->name());
|
| - CallCode(ic, mode, instr);
|
| + CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
| }
|
|
|
|
|
| @@ -4041,9 +4038,9 @@ void LCodeGen::DoStoreNamedGeneric(LStoreNamedGeneric* instr) {
|
| ASSERT(ToRegister(instr->value()).is(rax));
|
|
|
| __ Move(rcx, instr->hydrogen()->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);
|
| }
|
|
|
|
|