| Index: src/arm/stub-cache-arm.cc
|
| diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc
|
| index 78cc3382a8178b98effcaa1c45e6ceb01df1527b..c7ce8b32c4bf49352d5e68f1329a0862e2346237 100644
|
| --- a/src/arm/stub-cache-arm.cc
|
| +++ b/src/arm/stub-cache-arm.cc
|
| @@ -740,8 +740,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));
|
| @@ -768,6 +768,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()) {
|
|
|