Open
Bug 1613592
(WarpBuilder)
Opened 5 years ago
Updated 1 years ago
[meta] Replace IonBuilder with a new MIR builder (WarpBuilder)
Categories
(Core :: JavaScript Engine: JIT, enhancement, P3)
Core
JavaScript Engine: JIT
Tracking
()
NEW
Tracking | Status | |
---|---|---|
firefox74 | --- | fix-optional |
People
(Reporter: jandem, Unassigned)
References
(Depends on 15 open bugs, Blocks 3 open bugs)
Details
(Keywords: meta)
The current IonBuilder + TI setup has a number of issues:
- Complexity and security concerns.
- Performance overhead for Baseline/C++ code.
- Overspecialization, resulting in unnecessary recompilations.
- MIR building has to be done on the main thread, often requires loop restarts.
- Memory usage for type information and ObjectGroups.
To address this, we want to prototype a much simpler MIR builder based on compiling CacheIR to MIR. The main parts of this will be:
- Improve CacheIR and Baseline ICs. Avoid polymorphic stubs in certain cases. Improve the CacheIR bytecode reader interface. These changes will help both ICs and WarpBuilder.
- Add a new MIR builder (WarpBuilder). WarpBuilder will run some code on the main thread but MIR building will happen off-thread.
- Evaluate performance and optimize until we think things are in good enough shape to replace IonBuilder, TI with WarpBuilder.
Reporter | ||
Updated•5 years ago
|
Blocks: memshrink-content
Depends on: 1595476
Reporter | ||
Updated•5 years ago
|
Alias: warp → WarpBuilder
Updated•5 years ago
|
Updated•5 years ago
|
Reporter | ||
Updated•5 years ago
|
Depends on: CacheIRTranspiler
Updated•5 years ago
|
Comment 1•4 years ago
|
||
Possible regression in bug 1676694
Updated•3 years ago
|
Blocks: sm-opt-jits
Updated•2 years ago
|
Severity: normal → S3
Updated•1 years ago
|
Priority: P1 → P3
You need to log in
before you can comment on or make changes to this bug.
Description
•