Index: src/compiler/js-native-context-specialization.cc |
diff --git a/src/compiler/js-native-context-specialization.cc b/src/compiler/js-native-context-specialization.cc |
index 0b7b2913b85d502983da331fafb0de8059e96f93..fb8e53b034878cc5ec9d203f2832ad98ae3b9db8 100644 |
--- a/src/compiler/js-native-context-specialization.cc |
+++ b/src/compiler/js-native-context-specialization.cc |
@@ -570,9 +570,11 @@ Reduction JSNativeContextSpecialization::ReduceNamedAccess( |
if (receiver_maps.length() == 1) { |
Handle<Map> receiver_map = receiver_maps.first(); |
if (receiver_map->IsJSGlobalProxyMap()) { |
- Context* receiver_context = |
- JSFunction::cast(receiver_map->GetConstructor())->native_context(); |
- if (receiver_context == *native_context()) { |
+ Object* maybe_constructor = receiver_map->GetConstructor(); |
+ // Detached global proxies have |null| as their constructor. |
+ if (maybe_constructor->IsJSFunction() && |
+ JSFunction::cast(maybe_constructor)->native_context() == |
+ *native_context()) { |
return ReduceGlobalAccess(node, receiver, value, name, access_mode, |
index); |
} |