| Index: src/arm/full-codegen-arm.cc
 | 
| diff --git a/src/arm/full-codegen-arm.cc b/src/arm/full-codegen-arm.cc
 | 
| index 95f3c8c0615af6a1aad13c21ecb5afcaba770f2f..c62dfb6d55e81861dad0b75ec32c2051c9a7f92f 100644
 | 
| --- a/src/arm/full-codegen-arm.cc
 | 
| +++ b/src/arm/full-codegen-arm.cc
 | 
| @@ -2245,7 +2245,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
 | 
|        __ ldr(load_name, MemOperand(sp, 2 * kPointerSize));
 | 
|        __ mov(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(r1, r0);
 | 
|        __ str(r1, MemOperand(sp, 2 * kPointerSize));
 | 
| @@ -2426,7 +2426,7 @@ void FullCodeGenerator::EmitNamedPropertyLoad(Property* prop) {
 | 
|    __ mov(LoadDescriptor::NameRegister(), Operand(key->value()));
 | 
|    __ mov(LoadDescriptor::SlotRegister(),
 | 
|           Operand(SmiFromSlot(prop->PropertyFeedbackSlot())));
 | 
| -  CallLoadIC(NOT_CONTEXTUAL);
 | 
| +  CallLoadIC(NOT_CONTEXTUAL, language_mode());
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -2438,13 +2438,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();
 | 
|    __ mov(LoadDescriptor::SlotRegister(),
 | 
|           Operand(SmiFromSlot(prop->PropertyFeedbackSlot())));
 | 
|    CallIC(ic);
 | 
| @@ -2453,9 +2454,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);
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -3001,6 +3003,7 @@ void FullCodeGenerator::EmitSuperCallWithLoadIC(Call* expr) {
 | 
|    __ ldr(scratch, MemOperand(sp, kPointerSize * 2));
 | 
|    __ Push(scratch);
 | 
|    __ Push(key->value());
 | 
| +  __ Push(Smi::FromInt(language_mode()));
 | 
|  
 | 
|    // Stack here:
 | 
|    //  - home_object
 | 
| @@ -3008,7 +3011,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.
 | 
|    __ str(r0, MemOperand(sp, kPointerSize));
 | 
| @@ -3061,6 +3065,7 @@ void FullCodeGenerator::EmitKeyedSuperCallWithLoadIC(Call* expr) {
 | 
|    __ ldr(scratch, MemOperand(sp, kPointerSize * 2));
 | 
|    __ Push(scratch);
 | 
|    VisitForStackValue(prop->key());
 | 
| +  __ Push(Smi::FromInt(language_mode()));
 | 
|  
 | 
|    // Stack here:
 | 
|    //  - home_object
 | 
| @@ -3068,7 +3073,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.
 | 
|    __ str(r0, MemOperand(sp, kPointerSize));
 | 
| 
 |