Index: src/arm/full-codegen-arm.cc |
diff --git a/src/arm/full-codegen-arm.cc b/src/arm/full-codegen-arm.cc |
index baf5f2917487c713b3351157cf22657394e416da..e6f9c2b216ab07f7bf22663cdcb98fd79b39f764 100644 |
--- a/src/arm/full-codegen-arm.cc |
+++ b/src/arm/full-codegen-arm.cc |
@@ -1697,8 +1697,10 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, |
// r2, and the global object in r1. |
__ mov(r2, Operand(var->name())); |
__ ldr(r1, GlobalObjectOperand()); |
- Handle<Code> ic(Builtins::builtin(Builtins::StoreIC_Initialize)); |
- EmitCallIC(ic, RelocInfo::CODE_TARGET); |
+ Handle<Code> ic(Builtins::builtin(is_strict() |
+ ? Builtins::StoreIC_Initialize_Strict |
+ : Builtins::StoreIC_Initialize)); |
+ EmitCallIC(ic, RelocInfo::CODE_TARGET_CONTEXT); |
} else if (var->mode() != Variable::CONST || op == Token::INIT_CONST) { |
// Perform the assignment for non-const variables and for initialization |