Initial attempt to implement lazy tiering for wasm
Categories
(Core :: JavaScript: WebAssembly, enhancement, P1)
Tracking
()
People
(Reporter: jseward, Assigned: jseward)
References
(Blocks 1 open bug)
Details
Attachments
(2 files, 8 obsolete files)
|
1.67 KB,
application/octet-stream
|
Details | |
|
390.92 KB,
patch
|
Details | Diff | Splinter Review |
Make a first attempt to implement lazy tiering for wasm.
| Assignee | ||
Comment 1•2 years ago
|
||
A backup of WIP; is not good for anything right now.
| Assignee | ||
Comment 2•2 years ago
|
||
Can run BaselineCompileFunctions on functions in parallel.
The resulting code and metadata is not yet collected up, though.
| Assignee | ||
Comment 3•2 years ago
|
||
Can run BaselineCompileFunctions on functions in parallel.
The resulting metadata is stashed in XCode.
Updated•2 years ago
|
| Assignee | ||
Comment 4•2 years ago
|
||
Can complete new WebAssembly.Module(..) for
jit-test/tests/wasm/bench/wasm_box2d.wasm (baseline compilation only).
I'm sure the resulting code is not runnable though.
| Assignee | ||
Comment 5•2 years ago
|
||
Can baseline-compile, instantiate and run the simple test case attached in
comment 6. Patch applies against m-c 691891:16becc119397.
| Assignee | ||
Comment 6•2 years ago
|
||
A simple test case for the patch in comment 5. Run with:
./dist/bin/js --wasm-compiler=baseline --no-ion badness134.js.
| Assignee | ||
Comment 7•2 years ago
|
||
The patch gradually comes to life. On x86_64-linux, this passes all 147
wasm/gc tests:
../src/jit-test/jit_test.py --args="--wasm-compiler=baseline --no-ion" \
-no-xdr -f ./dist/bin/js wasm/gc
and about 3200 of the circa 4000 wasm/ tests. Still baseline-only at this
point.
| Assignee | ||
Comment 8•2 years ago
|
||
Revised patch, still baseline only. Passes 3472 tests, fails 281. Anything
involving debugging, profiling, disassembly, explicit tiering, and probably a
bunch of other stuff, is still broken.
Applies against m-c 691891:16becc119397.
Updated•2 years ago
|
| Assignee | ||
Comment 9•2 years ago
|
||
With:
- a top level summary of changes (top of WasmTopLevel.cpp)
- initial work for debug-mode incremental tiering up
- major rework/clarification of fmFinishModule
- baseline compilation is really done in parallel now (bug fix)
| Assignee | ||
Comment 10•2 years ago
|
||
Final patch; this line of patches has been abandoned in favour of a more
incremental approach.
Comment 11•1 year ago
|
||
As Julian noted, we're going with a more incremental approach that was started in bug 1891182.
Description
•