Index: src/runtime/runtime-scopes.cc |
diff --git a/src/runtime/runtime-scopes.cc b/src/runtime/runtime-scopes.cc |
index 953a09f16df7127c2654207571fe61cb483f3c59..b4506512a188e92ee9a02e341582a7fbe1ce30f6 100644 |
--- a/src/runtime/runtime-scopes.cc |
+++ b/src/runtime/runtime-scopes.cc |
@@ -1026,6 +1026,12 @@ RUNTIME_FUNCTION(Runtime_StoreLookupSlot) { |
// The property was found in a context slot. |
if (index >= 0) { |
+ if ((binding_flags == MUTABLE_CHECK_INITIALIZED || |
+ binding_flags == IMMUTABLE_CHECK_INITIALIZED_HARMONY) && |
+ Handle<Context>::cast(holder)->is_the_hole(index)) { |
+ THROW_NEW_ERROR_RETURN_FAILURE( |
+ isolate, NewReferenceError(MessageTemplate::kNotDefined, name)); |
+ } |
Dan Ehrenberg
2015/07/09 00:00:47
Looks like this is called by FullCodeGen. Do we ne
arv (Not doing code reviews)
2015/07/09 14:30:35
TF calls the same runtime function.
Crankshaft ba
|
if ((attributes & READ_ONLY) == 0) { |
Handle<Context>::cast(holder)->set(index, *value); |
} else if (is_strict(language_mode)) { |