Refactor GC heap code in prepartion for adding slots/elements allocator
Categories
(Core :: JavaScript: GC, task)
Tracking
()
Tracking | Status | |
---|---|---|
firefox131 | --- | fixed |
People
(Reporter: jonco, Assigned: jonco)
References
Details
Attachments
(5 files)
This bug is for a bunch of refactoring patches written in preparation for bug 1911537.
Assignee | ||
Comment 1•11 months ago
|
||
gc/Heap-inl.h contains definitions that should be internal to the GC. This
change removes the need to inlude it in vm/NativeObject-inl.h which greatly
reduces the places it is included from.
Updated•11 months ago
|
Assignee | ||
Comment 2•11 months ago
|
||
Currently we have two different definitons for several methods that check mark
bits, one set being in the exported HeapAPI.j header and one set in gc/Heap.h.
This patch consolidates on a single definition for the ones that need to be
public and moves the remainder from gc/Heap.h (which gets included everywhere)
to the mostly internal gc/Heap-inl.h.
This also adds a copyFrom method.
Assignee | ||
Comment 3•11 months ago
|
||
This removes an unused parameter from CellAllocator::TryNewTenuredCell and
AllocTenuredCell.
Assignee | ||
Comment 4•11 months ago
|
||
This greatly cuts down the number of files that include this header.
Assignee | ||
Comment 5•11 months ago
|
||
This makes the zone and allocKind fields private and moves some methods that
release arenas into GCRuntime.
The Arena::next field is accessed by a bunch of different classes to put arenas
on various linked lists, so I left this public.
Comment 7•11 months ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/7f80ab3f7857
https://hg.mozilla.org/mozilla-central/rev/2cd958f1b0c3
https://hg.mozilla.org/mozilla-central/rev/c0641d30ff1d
https://hg.mozilla.org/mozilla-central/rev/99274a339703
https://hg.mozilla.org/mozilla-central/rev/af34a13f2688
Description
•