| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index 8de8e52c6b069d09941b3606cc9eb172fd611d94..019f39a20f96050f55cbab1d67390afbcf1b8707 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -6796,12 +6796,16 @@ void HOptimizedGraphBuilder::VisitProperty(Property* expr) {
|
| } else if (expr->key()->IsPropertyName()) {
|
| Handle<String> name = expr->key()->AsLiteral()->AsPropertyName();
|
| SmallMapList* types = expr->GetReceiverTypes();
|
| + HValue* object = Top();
|
|
|
| - bool monomorphic = expr->IsMonomorphic();
|
| Handle<Map> map;
|
| + bool monomorphic = false;
|
| if (expr->IsMonomorphic()) {
|
| map = types->first();
|
| - if (map->is_dictionary_map()) monomorphic = false;
|
| + monomorphic = !map->is_dictionary_map();
|
| + } else if (object->HasMonomorphicJSObjectType()) {
|
| + map = object->GetMonomorphicJSObjectMap();
|
| + monomorphic = !map->is_dictionary_map();
|
| }
|
| if (monomorphic) {
|
| Handle<JSFunction> getter;
|
|
|