commit | 28cc5dc6722e2135c596c8062364878c000d19ec | [log] [tgz] |
---|---|---|
author | Andreas Haas <ahaas@chromium.org> | Thu Jul 06 14:10:53 2017 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Jul 06 17:39:47 2017 |
tree | a07e76fbf3142eefd2a92f0c9593d653dbbee827 | |
parent | 641705e0c088114e2201b075653f9711a5c6bb09 [diff] |
Reland [wasm] Allow the initialization of a single compilation unit Tsan figured out that I called compilation_units_.empty() outside a lock. Original message: This CL adds a new function {InitializeCompilationUnit} to initialize a single compilation unit and not just all compilation units at once. This is necessary for streaming compilation eventually. This also required some refactoring on how the working queue for compilation units works. Previously the synchronization was done with an atomic counter, now it is done with a lock. Note that the code to finish compilation of a module still only works if the working queue gets only empty when all work is done. I plan to change this in a different CL. Since the code would not be tested without streaming compilation, I added an experimental flag and a test to test the new code. R=clemensh@chromium.org, mtrofin@chromium.org Change-Id: Ia83560d1c70f0802271a88c514e0d1cb0458f6c4 Reviewed-on: https://chromium-review.googlesource.com/561458 Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#46454}
V8 is Google's open source JavaScript engine.
V8 implements ECMAScript as specified in ECMA-262.
V8 is written in C++ and is used in Google Chrome, the open source browser from Google.
V8 can run standalone, or can be embedded into any C++ application.
V8 Project page: https://github.com/v8/v8/wiki
Checkout depot tools, and run
fetch v8
This will checkout V8 into the directory v8
and fetch all of its dependencies. To stay up to date, run
git pull origin gclient sync
For fetching all branches, add the following into your remote configuration in .git/config
:
fetch = +refs/branch-heads/*:refs/remotes/branch-heads/* fetch = +refs/tags/*:refs/tags/*
Please follow the instructions mentioned on the V8 wiki.