I'm not happy with having references to compilation in the api.h since this stuff is not necessarily tied to compilation only. Also, this proposal only

Are you suggesting renaming things like last_block_before_compilation_
to something more generic?

allows one saved scope per VM so you can never have more than one thread
compiling.

Can we instead have register/deregister functions that allow more than one
scope
to be saved at a time?

I think this approach does allow multiple threads of compilation.  The
GatheringHandleScope needs to be constructed and destructed on the
mutator / GC thread synchronously (since we create Handles then), but
other than that, any number of compilation threads could be running at
the same time.  The fix for allowing correct root traversal (using
last_block_before_compilation_) is only needed when there is a GC
_while_ we're creating Handles inside a GatheringHandleScope (which
doesn't happens on the mutator / GC thread).

http://codereview.chromium.org/10640012/

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to