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