| Index: src/ia32/stub-cache-ia32.cc
|
| diff --git a/src/ia32/stub-cache-ia32.cc b/src/ia32/stub-cache-ia32.cc
|
| index 7a76e1474209f95b281fed9c242cc438233cad59..e6f2d2b8bf975794e63a183c805604579bdeb78f 100644
|
| --- a/src/ia32/stub-cache-ia32.cc
|
| +++ b/src/ia32/stub-cache-ia32.cc
|
| @@ -708,8 +708,8 @@ Register PropertyHandlerCompiler::CheckPrototypes(
|
|
|
| prototype = handle(JSObject::cast(current_map->prototype()));
|
| if (current_map->is_dictionary_map() &&
|
| - !current_map->IsJSGlobalObjectMap() &&
|
| - !current_map->IsJSGlobalProxyMap()) {
|
| + !current_map->IsJSGlobalObjectMap()) {
|
| + DCHECK(!current_map->IsJSGlobalProxyMap()); // Proxy maps are fast.
|
| if (!name->IsUniqueName()) {
|
| DCHECK(name->IsString());
|
| name = factory()->InternalizeString(Handle<String>::cast(name));
|
| @@ -738,6 +738,9 @@ Register PropertyHandlerCompiler::CheckPrototypes(
|
| // Check access rights to the global object. This has to happen after
|
| // the map check so that we know that the object is actually a global
|
| // object.
|
| + // This allows us to install generated handlers for accesses to the
|
| + // global proxy (as opposed to using slow ICs). See corresponding code
|
| + // in LookupForRead().
|
| if (current_map->IsJSGlobalProxyMap()) {
|
| __ CheckAccessGlobalProxy(reg, scratch1, scratch2, miss);
|
| } else if (current_map->IsJSGlobalObjectMap()) {
|
|
|