Chromium Code Reviews| Index: src/arm/lithium-codegen-arm.cc |
| diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc |
| index 54526ed01bf32cfb849b65ffdf1cd52a89005a0d..6336fc87a4bf61fbc6d6f6de9b42fda5852053ce 100644 |
| --- a/src/arm/lithium-codegen-arm.cc |
| +++ b/src/arm/lithium-codegen-arm.cc |
| @@ -159,7 +159,7 @@ bool LCodeGen::GeneratePrologue() { |
| // with undefined when called as functions (without an explicit |
| // receiver object). r5 is zero for method calls and non-zero for |
| // function calls. |
| - if (info_->is_strict_mode() || info_->is_native()) { |
| + if (!info_->is_classic_mode() || info_->is_native()) { |
| Label ok; |
| __ cmp(r5, Operand(0)); |
| __ b(eq, &ok); |
| @@ -2289,7 +2289,7 @@ void LCodeGen::DoStoreGlobalGeneric(LStoreGlobalGeneric* instr) { |
| ASSERT(ToRegister(instr->value()).is(r0)); |
| __ mov(r2, Operand(instr->name())); |
| - Handle<Code> ic = instr->strict_mode() |
| + Handle<Code> ic = (instr->strict_mode_flag() == kStrictMode) |
|
Rico
2011/11/14 14:58:52
Can't we arrive here with extended mode flag? if s
Steven
2011/11/15 13:33:30
The extended mode is also represented by the kStri
|
| ? isolate()->builtins()->StoreIC_Initialize_Strict() |
| : isolate()->builtins()->StoreIC_Initialize(); |
| CallCode(ic, RelocInfo::CODE_TARGET_CONTEXT, instr); |
| @@ -3366,7 +3366,7 @@ void LCodeGen::DoStoreNamedGeneric(LStoreNamedGeneric* instr) { |
| // Name is always in r2. |
| __ mov(r2, Operand(instr->name())); |
| - Handle<Code> ic = instr->strict_mode() |
| + Handle<Code> ic = (instr->strict_mode_flag() == kStrictMode) |
| ? isolate()->builtins()->StoreIC_Initialize_Strict() |
| : isolate()->builtins()->StoreIC_Initialize(); |
| CallCode(ic, RelocInfo::CODE_TARGET, instr); |
| @@ -3532,7 +3532,7 @@ void LCodeGen::DoStoreKeyedGeneric(LStoreKeyedGeneric* instr) { |
| ASSERT(ToRegister(instr->key()).is(r1)); |
| ASSERT(ToRegister(instr->value()).is(r0)); |
| - Handle<Code> ic = instr->strict_mode() |
| + Handle<Code> ic = (instr->strict_mode_flag() == kStrictMode) |
| ? isolate()->builtins()->KeyedStoreIC_Initialize_Strict() |
| : isolate()->builtins()->KeyedStoreIC_Initialize(); |
| CallCode(ic, RelocInfo::CODE_TARGET, instr); |
| @@ -4419,7 +4419,7 @@ void LCodeGen::DoFunctionLiteral(LFunctionLiteral* instr) { |
| Handle<SharedFunctionInfo> shared_info = instr->shared_info(); |
| bool pretenure = instr->hydrogen()->pretenure(); |
| if (!pretenure && shared_info->num_literals() == 0) { |
| - FastNewClosureStub stub(shared_info->strict_mode_flag()); |
| + FastNewClosureStub stub(shared_info->language_mode()); |
| __ mov(r1, Operand(shared_info)); |
| __ push(r1); |
| CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |