| Index: src/parser.h | 
| diff --git a/src/parser.h b/src/parser.h | 
| index e3cee84097346b881e8b1e9f744af1cb4a150a02..909e4f3c019919526934a816413c43e2d1d1064f 100644 | 
| --- a/src/parser.h | 
| +++ b/src/parser.h | 
| @@ -604,7 +604,7 @@ class ParserTraits { | 
|  | 
| class Parser : public ParserBase<ParserTraits> { | 
| public: | 
| -  explicit Parser(CompilationInfo* info); | 
| +  Parser(CompilationInfo* info, uintptr_t stack_limit, uint32_t hash_seed); | 
| ~Parser() { | 
| delete reusable_preparser_; | 
| reusable_preparser_ = NULL; | 
| @@ -617,11 +617,13 @@ class Parser : public ParserBase<ParserTraits> { | 
| // nodes) if parsing failed. | 
| static bool Parse(CompilationInfo* info, | 
| bool allow_lazy = false) { | 
| -    Parser parser(info); | 
| +    Parser parser(info, info->isolate()->stack_guard()->real_climit(), | 
| +                  info->isolate()->heap()->HashSeed()); | 
| parser.set_allow_lazy(allow_lazy); | 
| return parser.Parse(); | 
| } | 
| bool Parse(); | 
| +  void ParseOnBackground(); | 
|  | 
| private: | 
| friend class ParserTraits; | 
| @@ -660,6 +662,8 @@ class Parser : public ParserBase<ParserTraits> { | 
| // Called by ParseProgram after setting up the scanner. | 
| FunctionLiteral* DoParseProgram(CompilationInfo* info, | 
| Handle<String> source); | 
| +  FunctionLiteral* DoParseProgramInner(CompilationInfo* info, Scope** scope, | 
| +                                       Scope** ad_hoc_eval_scope); | 
|  | 
| void SetCachedData(); | 
|  | 
| @@ -677,7 +681,8 @@ class Parser : public ParserBase<ParserTraits> { | 
| // By making the 'exception handling' explicit, we are forced to check | 
| // for failure at the call sites. | 
| void* ParseSourceElements(ZoneList<Statement*>* processor, int end_token, | 
| -                            bool is_eval, bool is_global, bool* ok); | 
| +                            bool is_eval, bool is_global, | 
| +                            Scope** ad_hoc_eval_scope, bool* ok); | 
| Statement* ParseModuleElement(ZoneList<const AstRawString*>* labels, | 
| bool* ok); | 
| Statement* ParseModuleDeclaration(ZoneList<const AstRawString*>* names, | 
| @@ -827,6 +832,8 @@ class Parser : public ParserBase<ParserTraits> { | 
| bool pending_error_is_reference_error_; | 
|  | 
| int use_counts_[v8::Isolate::kUseCounterFeatureCount]; | 
| + | 
| +  uint32_t hash_seed_; | 
| }; | 
|  | 
|  | 
|  |