| Index: src/parser.h
|
| diff --git a/src/parser.h b/src/parser.h
|
| index 799ec5860d55bbc89f69d0b61c0bfc4990a2fe52..af69f889a3cba4fefe091bfdbe6a73bf5ba780e7 100644
|
| --- a/src/parser.h
|
| +++ b/src/parser.h
|
| @@ -609,14 +609,14 @@ class Parser : public ParserBase<ParserTraits> {
|
| // Report syntax error
|
| void ReportInvalidPreparseData(Handle<String> name, bool* ok);
|
|
|
| - void set_pre_parse_data(ScriptDataImpl *data) {
|
| - pre_parse_data_ = data;
|
| - symbol_cache_.Initialize(data ? data->symbol_count() : 0, zone());
|
| + void set_cached_data(ScriptDataImpl** data) {
|
| + cached_data_ = data;
|
| + symbol_cache_.Initialize(data && *data ? (*data)->symbol_count() : 0,
|
| + zone());
|
| }
|
|
|
| bool inside_with() const { return scope_->inside_with(); }
|
| Mode mode() const { return mode_; }
|
| - ScriptDataImpl* pre_parse_data() const { return pre_parse_data_; }
|
| Scope* DeclarationScope(VariableMode mode) {
|
| return IsLexicalVariableMode(mode)
|
| ? scope_ : scope_->DeclarationScope();
|
| @@ -788,6 +788,7 @@ class Parser : public ParserBase<ParserTraits> {
|
| Scope* original_scope_; // for ES5 function declarations in sloppy eval
|
| Target* target_stack_; // for break, continue statements
|
| ScriptDataImpl* pre_parse_data_;
|
| + ScriptDataImpl** cached_data_;
|
|
|
| Mode mode_;
|
|
|
|
|