Index: src/arm/lithium-codegen-arm.cc |
diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc |
index 0adb0af90ce7b74dfea34ad038bf5a91a125f64a..59738c2332f548ec8597038327fe224f50b641da 100644 |
--- a/src/arm/lithium-codegen-arm.cc |
+++ b/src/arm/lithium-codegen-arm.cc |
@@ -2217,7 +2217,9 @@ void LCodeGen::DoStoreGlobalGeneric(LStoreGlobalGeneric* instr) { |
ASSERT(ToRegister(instr->value()).is(r0)); |
__ mov(r2, Operand(instr->name())); |
- Handle<Code> ic = isolate()->builtins()->StoreIC_Initialize(); |
+ Handle<Code> ic = instr->strict_mode() |
Martin Maly
2011/04/07 10:07:07
First fix. When optimizing strict mode functions w
|
+ ? isolate()->builtins()->StoreIC_Initialize_Strict() |
+ : isolate()->builtins()->StoreIC_Initialize(); |
CallCode(ic, RelocInfo::CODE_TARGET_CONTEXT, instr); |
} |
@@ -3071,7 +3073,7 @@ void LCodeGen::DoStoreNamedGeneric(LStoreNamedGeneric* instr) { |
// Name is always in r2. |
__ mov(r2, Operand(instr->name())); |
- Handle<Code> ic = info_->is_strict_mode() |
+ Handle<Code> ic = instr->strict_mode() |
Martin Maly
2011/04/07 10:07:07
Second fix - the info_ does contain strict mode fl
|
? isolate()->builtins()->StoreIC_Initialize_Strict() |
: isolate()->builtins()->StoreIC_Initialize(); |
CallCode(ic, RelocInfo::CODE_TARGET, instr); |
@@ -3129,7 +3131,7 @@ void LCodeGen::DoStoreKeyedGeneric(LStoreKeyedGeneric* instr) { |
ASSERT(ToRegister(instr->key()).is(r1)); |
ASSERT(ToRegister(instr->value()).is(r0)); |
- 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); |