Index: src/x87/full-codegen-x87.cc |
diff --git a/src/x87/full-codegen-x87.cc b/src/x87/full-codegen-x87.cc |
index fa9088cdf549e3c0e4220fb6ce3581552f648dc6..0f292cc49beec7d05ae333aaa198f9cb984cbeb5 100644 |
--- a/src/x87/full-codegen-x87.cc |
+++ b/src/x87/full-codegen-x87.cc |
@@ -2562,7 +2562,6 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, |
__ CallRuntime(Runtime::kThrowReferenceError, 1); |
__ bind(&assign); |
EmitStoreToStackLocalOrContextSlot(var, location); |
- |
} else if (!var->is_const_mode() || op == Token::INIT_CONST) { |
if (var->IsLookupSlot()) { |
// Assignment to var. |
@@ -2584,8 +2583,9 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, |
} |
EmitStoreToStackLocalOrContextSlot(var, location); |
} |
+ } else if (IsSignallingAssignmentToConst(var, op, strict_mode())) { |
+ __ CallRuntime(Runtime::kThrowConstAssignError, 0); |
} |
- // Non-initializing assignments to consts are ignored. |
} |