| Index: src/preparser.h
|
| diff --git a/src/preparser.h b/src/preparser.h
|
| index b3f67c9a698a17920f67fd0c0d216ef28ac0bc22..7c6904055929d173964d7d794412d111341f6a7d 100644
|
| --- a/src/preparser.h
|
| +++ b/src/preparser.h
|
| @@ -42,6 +42,7 @@ class ParserBase : public Traits {
|
| ParserBase(Scanner* scanner, uintptr_t stack_limit,
|
| typename Traits::ParserType this_object)
|
| : Traits(this_object),
|
| + parenthesized_function_(false),
|
| scanner_(scanner),
|
| stack_limit_(stack_limit),
|
| stack_overflow_(false),
|
| @@ -281,6 +282,12 @@ class ParserBase : public Traits {
|
| LanguageMode language_mode_;
|
| };
|
|
|
| + // If true, the next (and immediately following) function literal is
|
| + // preceded by a parenthesis.
|
| + // Heuristically that means that the function will be called immediately,
|
| + // so never lazily compile it.
|
| + bool parenthesized_function_;
|
| +
|
| private:
|
| Scanner* scanner_;
|
| uintptr_t stack_limit_;
|
| @@ -505,8 +512,7 @@ class PreParser : public ParserBase<PreParserTraits> {
|
| uintptr_t stack_limit)
|
| : ParserBase<PreParserTraits>(scanner, stack_limit, this),
|
| log_(log),
|
| - scope_(NULL),
|
| - parenthesized_function_(false) { }
|
| + scope_(NULL) { }
|
|
|
| ~PreParser() {}
|
|
|
| @@ -748,7 +754,6 @@ class PreParser : public ParserBase<PreParserTraits> {
|
|
|
| ParserRecorder* log_;
|
| Scope* scope_;
|
| - bool parenthesized_function_;
|
| };
|
|
|
|
|
|
|