Revision: 5427
Author: [email protected]
Date: Wed Sep 8 03:33:15 2010
Log: Don't generate preparse data if lazy-flag is false.
Review URL: http://codereview.chromium.org/3304012
http://code.google.com/p/v8/source/detail?r=5427
Modified:
/branches/bleeding_edge/src/compiler.cc
=======================================
--- /branches/bleeding_edge/src/compiler.cc Mon Aug 30 06:39:07 2010
+++ /branches/bleeding_edge/src/compiler.cc Wed Sep 8 03:33:15 2010
@@ -269,9 +269,20 @@
}
if (result.is_null()) {
- // No cache entry found. Do pre-parsing and compile the script.
+ // No cache entry found. Do pre-parsing, if it makes sense, and compile
+ // the script.
+ // Building preparse data that is only used immediately after is only a
+ // saving if we might skip building the AST for lazily compiled
functions.
+ // I.e., preparse data isn't relevant when the lazy flag is off, and
+ // for small sources, odds are that there aren't many functions
+ // that would be compiled lazily anyway, so we skip the preparse step
+ // in that case too.
+ // TODO(lrn): Maybe *only* collect function info, not symbol info, in
+ // this case, since it's just replacing one hash-lookup with another.
ScriptDataImpl* pre_data = input_pre_data;
- if (pre_data == NULL && source_length >= FLAG_min_preparse_length) {
+ if (pre_data == NULL
+ && FLAG_lazy
+ && source_length >= FLAG_min_preparse_length) {
pre_data = PreParse(source, NULL, extension);
}
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev