De-duplicate bytecode within single compilation
Categories
(Core :: JavaScript Engine, task, P3)
Tracking
()
People
(Reporter: arai, Assigned: arai)
References
(Blocks 1 open bug)
Details
Attachments
(4 obsolete files)
Single compilation unit can contain multiple duplicated bytecode especially for small function (e.g. ~3000 duplicated entries within 12000 entries in gmail JS file), and performing all de-duplication on instantiation on main thread is not optimal.
Performing compilation-local deduplication off-main-thread will:
- reduce the task requred on main thread instantiation
- reduce the XDR bytecode size
Assignee | ||
Comment 1•2 years ago
|
||
Re-landing of bug 1805149 patches Part 1 and 2.
Assignee | ||
Comment 2•2 years ago
|
||
Now ScriptStencil to SharedImmutableScriptData is not 1:1, and ScriptStencil
holds SharedImmutableScriptDataIndex to point the SharedImmutableScriptData
inside SharedDataContainer.
SharedDataContainer is simplified to use either a single pointer or a vector.
Assignee | ||
Comment 3•2 years ago
|
||
Assignee | ||
Comment 4•2 years ago
|
||
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Assignee | ||
Comment 5•2 years ago
|
||
bug 1814550 unblocks the JSContext removal
Assignee | ||
Comment 6•2 years ago
|
||
local bytecode de-duplication can still be valuable for reducing memory consumption and also reducing XDR data size.
we can revisit this later, maybe by conditionally applying the local de-duplication only for large file, or only to files that will be XDR encoded.
also possibly with special casing small/empty functions to represent them with static data.
Description
•