| 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;
|
|
|
|
|