| 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)
|
| ? 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);
|
|
|