| Index: src/parser.h
|
| diff --git a/src/parser.h b/src/parser.h
|
| index e2ccd0370b75f684dbc2a58fba8763c0f7295473..d1f47c4d2905417ade4cf4f5fa5802bcad6bc8d9 100644
|
| --- a/src/parser.h
|
| +++ b/src/parser.h
|
| @@ -597,7 +597,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;
|
| @@ -610,11 +610,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;
|
| @@ -653,6 +655,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();
|
|
|
| @@ -670,7 +674,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,
|
| @@ -820,6 +825,8 @@ class Parser : public ParserBase<ParserTraits> {
|
| bool pending_error_is_reference_error_;
|
|
|
| int use_counts_[v8::Isolate::kUseCounterFeatureCount];
|
| +
|
| + uint32_t hash_seed_;
|
| };
|
|
|
|
|
|
|