| Index: src/arm64/full-codegen-arm64.cc | 
| diff --git a/src/arm64/full-codegen-arm64.cc b/src/arm64/full-codegen-arm64.cc | 
| index 2cf714294379c4fd445430ae02eb60b7d8d64049..ff47e34cf985d3bb269f16386f0069f2075a5ce3 100644 | 
| --- a/src/arm64/full-codegen-arm64.cc | 
| +++ b/src/arm64/full-codegen-arm64.cc | 
| @@ -2091,7 +2091,7 @@ | 
| __ Mov(LoadDescriptor::NameRegister(), Operand(key->value())); | 
| __ Mov(LoadDescriptor::SlotRegister(), | 
| SmiFromSlot(prop->PropertyFeedbackSlot())); | 
| -  CallLoadIC(NOT_CONTEXTUAL); | 
| +  CallLoadIC(NOT_CONTEXTUAL, language_mode()); | 
| } | 
|  | 
|  | 
| @@ -2103,14 +2103,15 @@ | 
| 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()); | 
| // Call keyed load IC. It has arguments key and receiver in x0 and x1. | 
| -  Handle<Code> ic = CodeFactory::KeyedLoadIC(isolate()).code(); | 
| +  Handle<Code> ic = CodeFactory::KeyedLoadIC(isolate(), language_mode()).code(); | 
| __ Mov(LoadDescriptor::SlotRegister(), | 
| SmiFromSlot(prop->PropertyFeedbackSlot())); | 
| CallIC(ic); | 
| @@ -2119,9 +2120,10 @@ | 
|  | 
| 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); | 
| } | 
|  | 
|  | 
| @@ -2683,14 +2685,15 @@ | 
| __ Peek(scratch, kPointerSize); | 
| __ Push(x0, scratch); | 
| __ Push(key->value()); | 
| +  __ Push(Smi::FromInt(language_mode())); | 
|  | 
| // Stack here: | 
| //  - home_object | 
| //  - this (receiver) | 
| //  - 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. | 
| __ Poke(x0, kPointerSize); | 
| @@ -2743,6 +2746,7 @@ | 
| __ Peek(scratch, kPointerSize); | 
| __ Push(x0, scratch); | 
| VisitForStackValue(prop->key()); | 
| +  __ Push(Smi::FromInt(language_mode())); | 
|  | 
| // Stack here: | 
| //  - home_object | 
| @@ -2750,7 +2754,8 @@ | 
| //  - 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. | 
| __ Poke(x0, kPointerSize); | 
| @@ -5198,7 +5203,7 @@ | 
| __ Peek(load_name, 2 * kPointerSize); | 
| __ Mov(LoadDescriptor::SlotRegister(), | 
| SmiFromSlot(expr->KeyedLoadFeedbackSlot())); | 
| -      Handle<Code> ic = CodeFactory::KeyedLoadIC(isolate()).code(); | 
| +      Handle<Code> ic = CodeFactory::KeyedLoadIC(isolate(), SLOPPY).code(); | 
| CallIC(ic, TypeFeedbackId::None()); | 
| __ Mov(x1, x0); | 
| __ Poke(x1, 2 * kPointerSize); | 
|  |