Chromium Code Reviews| Index: src/hydrogen.cc |
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc |
| index 393e02c9f97ba6381ad0697aa220dfe2df319d63..f28d4f9519e99a72f449a75c29d98676edaa79ce 100644 |
| --- a/src/hydrogen.cc |
| +++ b/src/hydrogen.cc |
| @@ -5447,6 +5447,7 @@ void HOptimizedGraphBuilder::VisitRegExpLiteral(RegExpLiteral* expr) { |
| static bool CanInlinePropertyAccess(Handle<Map> map) { |
| if (map->instance_type() == HEAP_NUMBER_TYPE) return true; |
| if (map->instance_type() < FIRST_NONSTRING_TYPE) return true; |
| + if (map->instance_type() == JS_PROXY_TYPE) return false; |
|
rossberg
2015/04/16 10:54:13
This isn't actually needed, I assume.
|
| return map->IsJSObjectMap() && !map->is_dictionary_map() && |
| !map->has_named_interceptor() && |
| // TODO(verwaest): Whitelist contexts to which we have access. |
| @@ -6069,6 +6070,10 @@ bool HOptimizedGraphBuilder::PropertyAccessInfo::LookupInPrototypes() { |
| LookupDescriptor(*map, *name_); |
| if (IsFound()) return LoadResult(map); |
| } |
| + |
| + if (map->IsJSReceiverMap()) { |
|
rossberg
2015/04/16 10:54:13
You may want to set NotFound in this case as well
|
| + return false; |
| + } |
| NotFound(); |
| return true; |
| } |