| Index: src/parser.cc
|
| ===================================================================
|
| --- src/parser.cc (revision 2670)
|
| +++ src/parser.cc (working copy)
|
| @@ -97,7 +97,7 @@
|
|
|
| // Pre-parse the program from the character stream; returns true on
|
| // success, false if a stack-overflow happened during parsing.
|
| - bool PreParseProgram(unibrow::CharacterStream* stream);
|
| + bool PreParseProgram(Handle<String> source, unibrow::CharacterStream* stream);
|
|
|
| void ReportMessage(const char* message, Vector<const char*> args);
|
| virtual void ReportMessageAt(Scanner::Location loc,
|
| @@ -1167,13 +1167,14 @@
|
| }
|
|
|
|
|
| -bool Parser::PreParseProgram(unibrow::CharacterStream* stream) {
|
| +bool Parser::PreParseProgram(Handle<String> source,
|
| + unibrow::CharacterStream* stream) {
|
| HistogramTimerScope timer(&Counters::pre_parse);
|
| StackGuard guard;
|
| AssertNoZoneAllocation assert_no_zone_allocation;
|
| AssertNoAllocation assert_no_allocation;
|
| NoHandleAllocation no_handle_allocation;
|
| - scanner_.Init(Handle<String>(), stream, 0);
|
| + scanner_.Init(source, stream, 0);
|
| ASSERT(target_stack_ == NULL);
|
| mode_ = PARSE_EAGERLY;
|
| DummyScope top_scope;
|
| @@ -4593,7 +4594,8 @@
|
| }
|
|
|
|
|
| -ScriptDataImpl* PreParse(unibrow::CharacterStream* stream,
|
| +ScriptDataImpl* PreParse(Handle<String> source,
|
| + unibrow::CharacterStream* stream,
|
| v8::Extension* extension) {
|
| Handle<Script> no_script;
|
| bool allow_natives_syntax =
|
| @@ -4601,7 +4603,7 @@
|
| FLAG_allow_natives_syntax ||
|
| Bootstrapper::IsActive();
|
| PreParser parser(no_script, allow_natives_syntax, extension);
|
| - if (!parser.PreParseProgram(stream)) return NULL;
|
| + if (!parser.PreParseProgram(source, stream)) return NULL;
|
| // The list owns the backing store so we need to clone the vector.
|
| // That way, the result will be exactly the right size rather than
|
| // the expected 50% too large.
|
|
|