| Index: src/parsing/parser-base.h
 | 
| diff --git a/src/parsing/parser-base.h b/src/parsing/parser-base.h
 | 
| index b17d664b3abe099d90f65d67a15f7c3e616bbc5a..78a2bc55c2ca18ecc32a96df8f9e47151d3165a5 100644
 | 
| --- a/src/parsing/parser-base.h
 | 
| +++ b/src/parsing/parser-base.h
 | 
| @@ -2540,6 +2540,8 @@ typename ParserBase<Impl>::ExpressionT ParserBase<Impl>::ParseObjectLiteral(
 | 
|    typename Types::ObjectPropertyList properties =
 | 
|        impl()->NewObjectPropertyList(4);
 | 
|    int number_of_boilerplate_properties = 0;
 | 
| +  bool has_seen_proto = false;
 | 
| +
 | 
|    bool has_computed_names = false;
 | 
|    bool has_rest_property = false;
 | 
|    ObjectLiteralChecker checker(this);
 | 
| @@ -2562,10 +2564,14 @@ typename ParserBase<Impl>::ExpressionT ParserBase<Impl>::ParseObjectLiteral(
 | 
|        has_rest_property = true;
 | 
|      }
 | 
|  
 | 
| -    // Count CONSTANT or COMPUTED properties to maintain the enumeration order.
 | 
| -    if (!has_computed_names && impl()->IsBoilerplateProperty(property)) {
 | 
| +    if (!impl()->IsBoilerplateProperty(property)) {
 | 
| +      has_seen_proto = true;
 | 
| +    } else if (!has_computed_names) {
 | 
| +      // Count CONSTANT or COMPUTED properties to maintain the enumeration
 | 
| +      // order.
 | 
|        number_of_boilerplate_properties++;
 | 
|      }
 | 
| +
 | 
|      properties->Add(property, zone());
 | 
|  
 | 
|      if (peek() != Token::RBRACE) {
 | 
| @@ -2581,8 +2587,8 @@ typename ParserBase<Impl>::ExpressionT ParserBase<Impl>::ParseObjectLiteral(
 | 
|    int literal_index = function_state_->NextMaterializedLiteralIndex();
 | 
|  
 | 
|    return factory()->NewObjectLiteral(properties, literal_index,
 | 
| -                                     number_of_boilerplate_properties, pos,
 | 
| -                                     has_rest_property);
 | 
| +                                     number_of_boilerplate_properties,
 | 
| +                                     has_seen_proto, pos, has_rest_property);
 | 
|  }
 | 
|  
 | 
|  template <typename Impl>
 | 
| 
 |