| Index: src/parser.cc
 | 
| diff --git a/src/parser.cc b/src/parser.cc
 | 
| index bfb5bd1955caedbf9a79647c904c24e4ae1ab761..d525252001bcb14748446510ef0689f96c7fefaa 100644
 | 
| --- a/src/parser.cc
 | 
| +++ b/src/parser.cc
 | 
| @@ -485,9 +485,7 @@ class Parser::BlockState BASE_EMBEDDED {
 | 
|  };
 | 
|  
 | 
|  
 | 
| -Parser::FunctionState::FunctionState(Parser* parser,
 | 
| -                                     Scope* scope,
 | 
| -                                     Isolate* isolate)
 | 
| +Parser::FunctionState::FunctionState(Parser* parser, Scope* scope)
 | 
|      : next_materialized_literal_index_(JSFunction::kLiteralsPrefixSize),
 | 
|        next_handler_index_(0),
 | 
|        expected_property_count_(0),
 | 
| @@ -495,11 +493,11 @@ Parser::FunctionState::FunctionState(Parser* parser,
 | 
|        parser_(parser),
 | 
|        outer_function_state_(parser->current_function_state_),
 | 
|        outer_scope_(parser->top_scope_),
 | 
| -      saved_ast_node_id_(isolate->ast_node_id()),
 | 
| -      factory_(isolate, parser->zone()) {
 | 
| +      saved_ast_node_id_(parser->zone()->isolate()->ast_node_id()),
 | 
| +      factory_(parser->zone()) {
 | 
|    parser->top_scope_ = scope;
 | 
|    parser->current_function_state_ = this;
 | 
| -  isolate->set_ast_node_id(BailoutId::FirstUsable().ToInt());
 | 
| +  parser->zone()->isolate()->set_ast_node_id(BailoutId::FirstUsable().ToInt());
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -645,7 +643,7 @@ FunctionLiteral* Parser::DoParseProgram(CompilationInfo* info,
 | 
|      ParsingModeScope parsing_mode(this, mode);
 | 
|  
 | 
|      // Enters 'scope'.
 | 
| -    FunctionState function_state(this, scope, isolate());
 | 
| +    FunctionState function_state(this, scope);
 | 
|  
 | 
|      top_scope_->SetLanguageMode(info->language_mode());
 | 
|      ZoneList<Statement*>* body = new(zone()) ZoneList<Statement*>(16, zone());
 | 
| @@ -759,7 +757,7 @@ FunctionLiteral* Parser::ParseLazy(Utf16CharacterStream* source) {
 | 
|                                             zone());
 | 
|      }
 | 
|      original_scope_ = scope;
 | 
| -    FunctionState function_state(this, scope, isolate());
 | 
| +    FunctionState function_state(this, scope);
 | 
|      ASSERT(scope->language_mode() != STRICT_MODE || !info()->is_classic_mode());
 | 
|      ASSERT(scope->language_mode() != EXTENDED_MODE ||
 | 
|             info()->is_extended_mode());
 | 
| @@ -3835,7 +3833,7 @@ Expression* Parser::ParseObjectLiteral(bool* ok) {
 | 
|      Expression* value = ParseAssignmentExpression(true, CHECK_OK);
 | 
|  
 | 
|      ObjectLiteral::Property* property =
 | 
| -        new(zone()) ObjectLiteral::Property(key, value, isolate());
 | 
| +        factory()->NewObjectLiteralProperty(key, value);
 | 
|  
 | 
|      // Mark top-level object literals that contain function literals and
 | 
|      // pretenure the literal so it can be added as a constant function
 | 
| @@ -4084,7 +4082,7 @@ FunctionLiteral* Parser::ParseFunctionLiteral(
 | 
|    AstProperties ast_properties;
 | 
|    BailoutReason dont_optimize_reason = kNoReason;
 | 
|    // Parse function body.
 | 
| -  { FunctionState function_state(this, scope, isolate());
 | 
| +  { FunctionState function_state(this, scope);
 | 
|      top_scope_->SetScopeName(function_name);
 | 
|  
 | 
|      if (is_generator) {
 | 
| 
 |