Index: src/mips/lithium-codegen-mips.cc |
diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc |
index ca1d2b5bb524b0e8d01fca52e55c88703578a9fb..6123b13f6274dcee6a7a4f4a3cf48d3fe022f862 100644 |
--- a/src/mips/lithium-codegen-mips.cc |
+++ b/src/mips/lithium-codegen-mips.cc |
@@ -157,7 +157,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; |
__ Branch(&ok, eq, t1, Operand(zero_reg)); |
@@ -2172,7 +2172,7 @@ void LCodeGen::DoStoreGlobalGeneric(LStoreGlobalGeneric* instr) { |
ASSERT(ToRegister(instr->value()).is(a0)); |
__ li(a2, 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); |
@@ -3271,7 +3271,7 @@ void LCodeGen::DoStoreNamedGeneric(LStoreNamedGeneric* instr) { |
// Name is always in a2. |
__ li(a2, 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); |
@@ -3452,7 +3452,7 @@ void LCodeGen::DoStoreKeyedGeneric(LStoreKeyedGeneric* instr) { |
ASSERT(ToRegister(instr->key()).is(a1)); |
ASSERT(ToRegister(instr->value()).is(a0)); |
- 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); |
@@ -4338,7 +4338,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()); |
__ li(a1, Operand(shared_info)); |
__ push(a1); |
CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |