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_; |
}; |