| Index: src/ia32/lithium-codegen-ia32.cc
|
| diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc
|
| index 6ca22154cde7446faf52df4bb2fda040724c873c..d403c5d99b8208282557e160f8de64aafdc49e6a 100644
|
| --- a/src/ia32/lithium-codegen-ia32.cc
|
| +++ b/src/ia32/lithium-codegen-ia32.cc
|
| @@ -2079,7 +2079,9 @@ void LCodeGen::DoStoreGlobalGeneric(LStoreGlobalGeneric* instr) {
|
| ASSERT(ToRegister(instr->value()).is(eax));
|
|
|
| __ mov(ecx, instr->name());
|
| - Handle<Code> ic = isolate()->builtins()->StoreIC_Initialize();
|
| + Handle<Code> ic = instr->strict_mode()
|
| + ? isolate()->builtins()->StoreIC_Initialize_Strict()
|
| + : isolate()->builtins()->StoreIC_Initialize();
|
| CallCode(ic, RelocInfo::CODE_TARGET_CONTEXT, instr);
|
| }
|
|
|
| @@ -2971,7 +2973,7 @@ void LCodeGen::DoStoreNamedGeneric(LStoreNamedGeneric* instr) {
|
| ASSERT(ToRegister(instr->value()).is(eax));
|
|
|
| __ mov(ecx, instr->name());
|
| - Handle<Code> ic = info_->is_strict_mode()
|
| + Handle<Code> ic = instr->strict_mode()
|
| ? isolate()->builtins()->StoreIC_Initialize_Strict()
|
| : isolate()->builtins()->StoreIC_Initialize();
|
| CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
| @@ -3071,7 +3073,7 @@ void LCodeGen::DoStoreKeyedGeneric(LStoreKeyedGeneric* instr) {
|
| ASSERT(ToRegister(instr->key()).is(ecx));
|
| ASSERT(ToRegister(instr->value()).is(eax));
|
|
|
| - Handle<Code> ic = info_->is_strict_mode()
|
| + Handle<Code> ic = instr->strict_mode()
|
| ? isolate()->builtins()->KeyedStoreIC_Initialize_Strict()
|
| : isolate()->builtins()->KeyedStoreIC_Initialize();
|
| CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
|
|