Index: src/stub-cache.cc |
diff --git a/src/stub-cache.cc b/src/stub-cache.cc |
index 845d4d40476a0d2f0be79068771ab555ad1fe875..c88ba26fa2961a323c987448df2590347a5be22a 100644 |
--- a/src/stub-cache.cc |
+++ b/src/stub-cache.cc |
@@ -606,7 +606,16 @@ RUNTIME_FUNCTION(StoreInterceptorProperty) { |
Handle<JSObject> receiver = args.at<JSObject>(0); |
Handle<Name> name = args.at<Name>(1); |
Handle<Object> value = args.at<Object>(2); |
- ASSERT(receiver->HasNamedInterceptor()); |
+#ifdef DEBUG |
+ if (receiver->IsJSGlobalProxy()) { |
+ PrototypeIterator iter(isolate, receiver); |
+ ASSERT(iter.IsAtEnd() || |
+ Handle<JSGlobalObject>::cast(PrototypeIterator::GetCurrent(iter)) |
+ ->HasNamedInterceptor()); |
+ } else { |
+ ASSERT(receiver->HasNamedInterceptor()); |
+ } |
+#endif |
Handle<Object> result; |
ASSIGN_RETURN_FAILURE_ON_EXCEPTION( |
isolate, result, |