[meta] Eagerly baseline compile self-hosted code
Categories
(Core :: JavaScript Engine: JIT, task, P3)
Tracking
()
People
(Reporter: bthrall, Unassigned)
References
(Depends on 7 open bugs, Blocks 1 open bug)
Details
(Keywords: meta)
| Reporter | ||
Comment 1•1 year ago
|
||
The current status of this project is that the code is landed under a preference that is disabled by default. We do not see overall performance improvement on Speedometer3, but there are some subtests that improve (Preact and Svelte) and some that regress (Angular and Vue). We see some opportunities to further improve the performance.
While the performance still needs work, we do hope these code changes lay the foundation for future features around sharing JIT code that we would like to do, such as sharing Baseline code across processes or storing self-hosted Baseline code in the Firefox binary.
I have already demonstrated that enabling self-hosted code early Baseline compilation reduces the total number of Baseline compiles for self-hosted functions, which means we are doing less work overall.
I haven't measured the memory cost of caching the self-hosted JIT code, but we expect it to be small.
Next steps: Explore performance improvements, such as for bug 1870391. We could also profile the compiled self-hosted code to see if we can improve the bytecode performance (since there are several slow paths that we needed to use to make the code Realm-independent).
Description
•