| Index: src/mips/full-codegen-mips.cc
 | 
| diff --git a/src/mips/full-codegen-mips.cc b/src/mips/full-codegen-mips.cc
 | 
| index 08a39a1400b2a872c8fb6ef9818d6b38cdcade48..28f22aba6067f922a604406db036f91a8bea791b 100644
 | 
| --- a/src/mips/full-codegen-mips.cc
 | 
| +++ b/src/mips/full-codegen-mips.cc
 | 
| @@ -2240,7 +2240,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
 | 
|        __ lw(load_name, MemOperand(sp, 2 * kPointerSize));
 | 
|        __ li(LoadDescriptor::SlotRegister(),
 | 
|              Operand(SmiFromSlot(expr->KeyedLoadFeedbackSlot())));
 | 
| -      Handle<Code> ic = CodeFactory::KeyedLoadIC(isolate()).code();
 | 
| +      Handle<Code> ic = CodeFactory::KeyedLoadIC(isolate(), SLOPPY).code();
 | 
|        CallIC(ic, TypeFeedbackId::None());
 | 
|        __ mov(a0, v0);
 | 
|        __ mov(a1, a0);
 | 
| @@ -2411,7 +2411,7 @@ void FullCodeGenerator::EmitNamedPropertyLoad(Property* prop) {
 | 
|    __ li(LoadDescriptor::NameRegister(), Operand(key->value()));
 | 
|    __ li(LoadDescriptor::SlotRegister(),
 | 
|          Operand(SmiFromSlot(prop->PropertyFeedbackSlot())));
 | 
| -  CallLoadIC(NOT_CONTEXTUAL);
 | 
| +  CallLoadIC(NOT_CONTEXTUAL, language_mode());
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -2423,13 +2423,14 @@ void FullCodeGenerator::EmitNamedSuperPropertyLoad(Property* prop) {
 | 
|    DCHECK(prop->IsSuperAccess());
 | 
|  
 | 
|    __ Push(key->value());
 | 
| -  __ CallRuntime(Runtime::kLoadFromSuper, 3);
 | 
| +  __ Push(Smi::FromInt(language_mode()));
 | 
| +  __ CallRuntime(Runtime::kLoadFromSuper, 4);
 | 
|  }
 | 
|  
 | 
|  
 | 
|  void FullCodeGenerator::EmitKeyedPropertyLoad(Property* prop) {
 | 
|    SetSourcePosition(prop->position());
 | 
| -  Handle<Code> ic = CodeFactory::KeyedLoadIC(isolate()).code();
 | 
| +  Handle<Code> ic = CodeFactory::KeyedLoadIC(isolate(), language_mode()).code();
 | 
|    __ li(LoadDescriptor::SlotRegister(),
 | 
|          Operand(SmiFromSlot(prop->PropertyFeedbackSlot())));
 | 
|    CallIC(ic);
 | 
| @@ -2438,9 +2439,10 @@ void FullCodeGenerator::EmitKeyedPropertyLoad(Property* prop) {
 | 
|  
 | 
|  void FullCodeGenerator::EmitKeyedSuperPropertyLoad(Property* prop) {
 | 
|    // Stack: receiver, home_object, key.
 | 
| +  __ Push(Smi::FromInt(language_mode()));
 | 
|    SetSourcePosition(prop->position());
 | 
|  
 | 
| -  __ CallRuntime(Runtime::kLoadKeyedFromSuper, 3);
 | 
| +  __ CallRuntime(Runtime::kLoadKeyedFromSuper, 4);
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -2979,6 +2981,7 @@ void FullCodeGenerator::EmitSuperCallWithLoadIC(Call* expr) {
 | 
|    VisitForAccumulatorValue(super_ref->this_var());
 | 
|    __ Push(scratch, v0, v0, scratch);
 | 
|    __ Push(key->value());
 | 
| +  __ Push(Smi::FromInt(language_mode()));
 | 
|  
 | 
|    // Stack here:
 | 
|    //  - home_object
 | 
| @@ -2986,7 +2989,8 @@ void FullCodeGenerator::EmitSuperCallWithLoadIC(Call* expr) {
 | 
|    //  - this (receiver) <-- LoadFromSuper will pop here and below.
 | 
|    //  - home_object
 | 
|    //  - key
 | 
| -  __ CallRuntime(Runtime::kLoadFromSuper, 3);
 | 
| +  //  - language_mode
 | 
| +  __ CallRuntime(Runtime::kLoadFromSuper, 4);
 | 
|  
 | 
|    // Replace home_object with target function.
 | 
|    __ sw(v0, MemOperand(sp, kPointerSize));
 | 
| @@ -3037,6 +3041,7 @@ void FullCodeGenerator::EmitKeyedSuperCallWithLoadIC(Call* expr) {
 | 
|    VisitForAccumulatorValue(super_ref->this_var());
 | 
|    __ Push(scratch, v0, v0, scratch);
 | 
|    VisitForStackValue(prop->key());
 | 
| +  __ Push(Smi::FromInt(language_mode()));
 | 
|  
 | 
|    // Stack here:
 | 
|    //  - home_object
 | 
| @@ -3044,7 +3049,8 @@ void FullCodeGenerator::EmitKeyedSuperCallWithLoadIC(Call* expr) {
 | 
|    //  - this (receiver) <-- LoadKeyedFromSuper will pop here and below.
 | 
|    //  - home_object
 | 
|    //  - key
 | 
| -  __ CallRuntime(Runtime::kLoadKeyedFromSuper, 3);
 | 
| +  //  - language_mode
 | 
| +  __ CallRuntime(Runtime::kLoadKeyedFromSuper, 4);
 | 
|  
 | 
|    // Replace home_object with target function.
 | 
|    __ sw(v0, MemOperand(sp, kPointerSize));
 | 
| 
 |