Index: src/ic.cc |
=================================================================== |
--- src/ic.cc (revision 539) |
+++ src/ic.cc (working copy) |
@@ -850,6 +850,9 @@ |
Handle<String> name, |
Handle<Object> value) { |
ASSERT(lookup->IsLoaded()); |
+ // Skip JSGlobalProxy. |
+ if (receiver->IsJSGlobalProxy()) return; |
+ |
// Bail out if we didn't find a result. |
if (!lookup->IsValid() || !lookup->IsCacheable()) return; |
@@ -956,6 +959,7 @@ |
// Do not use ICs for objects that require access checks (including |
// the global object). |
bool use_ic = FLAG_use_ic && !object->IsAccessCheckNeeded(); |
+ ASSERT(!(use_ic && object->IsJSGlobalProxy())); |
if (use_ic) set_target(generic_stub()); |
@@ -970,6 +974,10 @@ |
Handle<String> name, |
Handle<Object> value) { |
ASSERT(lookup->IsLoaded()); |
+ |
+ // Skip JSGlobalProxy. |
+ if (receiver->IsJSGlobalProxy()) return; |
+ |
// Bail out if we didn't find a result. |
if (!lookup->IsValid() || !lookup->IsCacheable()) return; |