Index: src/mips64/stub-cache-mips64.cc |
diff --git a/src/mips64/stub-cache-mips64.cc b/src/mips64/stub-cache-mips64.cc |
index 939c28faa0d8d0606b261ea49b9eba732c5bb683..c2efd97b0bb85a7f12dc75ffd954eaa588504351 100644 |
--- a/src/mips64/stub-cache-mips64.cc |
+++ b/src/mips64/stub-cache-mips64.cc |
@@ -743,8 +743,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)); |
@@ -777,6 +777,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, scratch2, miss); |
} else if (current_map->IsJSGlobalObjectMap()) { |