Simplify allocation code and make it more generic
Categories
(Core :: JavaScript: GC, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox115 | --- | fixed |
People
(Reporter: jonco, Assigned: jonco)
References
Details
(Whiteboard: [sp3])
Attachments
(6 files, 1 obsolete file)
This is a for a bunch more refactoring in preparation for inlining more of the allocation path.
Most of the patches relate to reducing duplication and making allocation methods common between the different trace kinds.
Assignee | ||
Comment 1•1 year ago
|
||
Since we discard JIT code when enabling/disabling nursery allocation of
different kinds, we don't need to use specific nursery end pointers to check
whether that kind is enabled any more.
Assignee | ||
Comment 2•1 year ago
|
||
Objects with foreground finalizers can be allocated in the nursery if the
JSCLASS_SKIP_NURSERY_FINALIZE flag is specified.
Depends on D178807
Assignee | ||
Comment 3•1 year ago
|
||
Depends on D178808
Assignee | ||
Comment 4•1 year ago
|
||
This replaces individual methods for different trace kinds.
Depends on D178809
Assignee | ||
Comment 5•1 year ago
|
||
This is templated on trace kind and AllowGC and instantiated for every combination.
Depends on D178810
Assignee | ||
Comment 6•1 year ago
|
||
This renames the methods called by NewCell into NewBlah, since like |new| they
do both allocation and construction.
The cell allocation methods are renamed to be slightly shorter because the
names are getting unwieldy.
Depends on D178811
Assignee | ||
Comment 7•1 year ago
|
||
This makes allowGC checks constexpr to make it clearer that these parts are
conditionally compiled.
gcIfNeededAtAllocation always returns true so we can remove the return value.
Depends on D178812
Comment 8•1 year ago
|
||
Comment on attachment 9335453 [details]
Bug 1834537 - Part 2: Fix nursery allocatable flag for objects with foreground finalizers r?sfink
Revision D178808 was moved to bug 1834993. Setting attachment 9335453 [details] to obsolete.
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Comment 10•1 year ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/b48e468f29c1
https://hg.mozilla.org/mozilla-central/rev/834625707519
https://hg.mozilla.org/mozilla-central/rev/6a44dedea3ad
https://hg.mozilla.org/mozilla-central/rev/aa8117171a65
https://hg.mozilla.org/mozilla-central/rev/93b8493126c5
https://hg.mozilla.org/mozilla-central/rev/4651a95b056e
Updated•1 year ago
|
Updated•1 year ago
|
Description
•