Improve builtin allocation perfomance of GC objects
Categories
(Core :: JavaScript: WebAssembly, task, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox111 | --- | fixed |
People
(Reporter: rhunt, Assigned: rhunt)
References
(Blocks 1 open bug)
Details
Attachments
(3 files)
The struct/array allocation builtins are doing a lot of work that could be done just once at instantiation and then cached.
Assignee | ||
Comment 1•2 years ago
|
||
This used to be required by an old representation of PackedTypeCode, but
is no longer needed.
Assignee | ||
Comment 2•2 years ago
|
||
This commit creates an AllocArgs struct which stores the params that
GC object allocation will use. When we instantiate a module, we compute those
parameters for each type up front and store it in the instance data area. The
JIT then will pass a pointer to these parameters when allocating objects.
Depends on D167313
Assignee | ||
Comment 3•2 years ago
|
||
Objects with finalizers cannot use the nursery (except if they opt-in and use some more
complicated logic that we cannot use yet). This commit adds a new class for inline-only
structs that allows them to be allocated in the nursery.
Depends on D167314
Comment 5•2 years ago
|
||
Backed out for causing SM bustages.
Failure log: https://treeherder.mozilla.org/logviewer?job_id=403057657&repo=autoland
Backout link: https://hg.mozilla.org/integration/autoland/rev/27bc772916c3222b2d9b245fe31f89c15192000a
Comment 7•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/0c7e1877c8f3
https://hg.mozilla.org/mozilla-central/rev/78dd59c068a9
https://hg.mozilla.org/mozilla-central/rev/58bdec1f2dec
Assignee | ||
Updated•2 years ago
|
Description
•