Index: src/runtime/runtime-object.cc |
diff --git a/src/runtime/runtime-object.cc b/src/runtime/runtime-object.cc |
index ebaf006a4ffe748a5f86803acd8bfe854aca9f6c..ee607259b903e34fe303c18de7d2abedec4f489d 100644 |
--- a/src/runtime/runtime-object.cc |
+++ b/src/runtime/runtime-object.cc |
@@ -467,7 +467,7 @@ Object* StoreGlobalViaContext(Isolate* isolate, int slot, Handle<Name> name, |
LookupIterator it(global_object, name, LookupIterator::HIDDEN); |
// Switch to fast mode only if there is a data property and it's not on |
// a hidden prototype. |
- if (LookupIterator::DATA == it.state() && |
+ if (LookupIterator::DATA == it.state() && !it.IsReadOnly() && |
it.GetHolder<Object>()->IsJSGlobalObject()) { |
// Now update cell in the script context. |
Handle<PropertyCell> cell = it.GetPropertyCell(); |