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•2 years 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•2 years ago
|
| Assignee | ||
Comment 2•2 years 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•2 years ago
|
||
This removes an unused parameter from CellAllocator::TryNewTenuredCell and
AllocTenuredCell.
| Assignee | ||
Comment 4•2 years ago
|
||
This greatly cuts down the number of files that include this header.
| Assignee | ||
Comment 5•2 years 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•2 years 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
•