| Index: src/arm/lithium-codegen-arm.cc
|
| diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc
|
| index 8f1c9c090dfbdf6e1de38ed34c1f028a2efbe8b0..1acce3beef65c4f8ff8fad7b6692ee42d923a35b 100644
|
| --- a/src/arm/lithium-codegen-arm.cc
|
| +++ b/src/arm/lithium-codegen-arm.cc
|
| @@ -2968,10 +2968,9 @@ void LCodeGen::DoLoadGlobalGeneric(LLoadGlobalGeneric* instr) {
|
| ASSERT(ToRegister(instr->result()).is(r0));
|
|
|
| __ mov(r2, Operand(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);
|
| }
|
|
|
|
|
| @@ -3006,10 +3005,10 @@ void LCodeGen::DoStoreGlobalGeneric(LStoreGlobalGeneric* instr) {
|
| ASSERT(ToRegister(instr->value()).is(r0));
|
|
|
| __ mov(r2, Operand(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);
|
| }
|
|
|
|
|
| @@ -3102,7 +3101,7 @@ void LCodeGen::DoLoadNamedGeneric(LLoadNamedGeneric* instr) {
|
|
|
| // Name is always in r2.
|
| __ mov(r2, Operand(instr->name()));
|
| - Handle<Code> ic = isolate()->builtins()->LoadIC_Initialize();
|
| + Handle<Code> ic = LoadIC::initialize_stub(isolate(), NOT_CONTEXTUAL);
|
| CallCode(ic, RelocInfo::CODE_TARGET, instr, NEVER_INLINE_TARGET_ADDRESS);
|
| }
|
|
|
| @@ -3989,11 +3988,10 @@ void LCodeGen::DoCallNamed(LCallNamed* instr) {
|
| ASSERT(ToRegister(instr->result()).is(r0));
|
|
|
| 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(r2, Operand(instr->name()));
|
| - CallCode(ic, mode, instr, NEVER_INLINE_TARGET_ADDRESS);
|
| + CallCode(ic, RelocInfo::CODE_TARGET, instr, NEVER_INLINE_TARGET_ADDRESS);
|
| }
|
|
|
|
|
| @@ -4018,11 +4016,10 @@ void LCodeGen::DoCallGlobal(LCallGlobal* instr) {
|
| ASSERT(ToRegister(instr->result()).is(r0));
|
|
|
| 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(r2, Operand(instr->name()));
|
| - CallCode(ic, mode, instr, NEVER_INLINE_TARGET_ADDRESS);
|
| + CallCode(ic, RelocInfo::CODE_TARGET, instr, NEVER_INLINE_TARGET_ADDRESS);
|
| }
|
|
|
|
|
| @@ -4219,9 +4216,9 @@ void LCodeGen::DoStoreNamedGeneric(LStoreNamedGeneric* instr) {
|
|
|
| // Name is always in r2.
|
| __ mov(r2, Operand(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, NEVER_INLINE_TARGET_ADDRESS);
|
| }
|
|
|
|
|