Reviewers: Sven Panne,
Message:
svenpanne, ptal, {dcarney,ulan,dslomov,mstarzinger}, you might also want to
have
a look.
Try jobs are in patch set 25.
Description:
Two-threaded parser
This is how it works:
- The background thread runs PreParser to find lazy functions. The main
thread
runs Parser, and uses the data produced by the background thread to skip
over
lazy functions.
- This can only work for external strings, since they're stored inside the
V8
heap. ExternalTwoByteStringUtf16CharacterStream and
ExternalOneByteStringUtf16CharacterStream keep a Handle<String> but they
are
safe to use in the background thread, since they don't access the Handle
after
the constructor.
- The "cached data" is still produced by Parser like before, and stored like
before.
BUG=
Please review this at https://codereview.chromium.org/214883002/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+490, -23 lines):
M src/flag-definitions.h
M src/parser.cc
A src/parser-thread.h
A src/parser-thread.cc
M src/preparse-data.h
M src/preparser.h
M src/preparser.cc
M src/scanner-character-streams.h
M src/scanner-character-streams.cc
M test/cctest/test-parsing.cc
M tools/gyp/v8.gyp
M tools/parser-shell.cc
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.