Refactor the buffer allocator in preparation for arbitrarily sized small buffers
Categories
(Core :: JavaScript: GC, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox142 | --- | fixed |
People
(Reporter: jonco, Assigned: jonco)
References
(Blocks 1 open bug)
Details
Attachments
(8 files)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
The patch stack for bug 1973033 got too large so I'm splitting out a bunch of refactoring work into this bug.
Assignee | ||
Updated•4 days ago
|
Updated•3 days ago
|
Assignee | ||
Comment 1•3 days ago
|
||
We're using the mark bitmap in the buffer allocator but we don't use most of
the methods. Simplify things by splitting out a separate class AtomicBitmap and
use that instead.
We can them remove the templates from MarkBitmap and use this directly in
chunks.
Assignee | ||
Comment 2•3 days ago
|
||
Not related to the buffer allocator, but I noticed that getOrAllocChunk has
only a single caller. This patch combines the two methods.
Also this renames the 'emplace' method to the simpler 'init'.
Assignee | ||
Comment 3•3 days ago
|
||
Assignee | ||
Comment 4•3 days ago
|
||
Assignee | ||
Comment 5•3 days ago
|
||
Assignee | ||
Comment 6•3 days ago
|
||
This commons up some assertions and simplifies the bitmap and array accessors.
Assignee | ||
Comment 7•3 days ago
|
||
Assignee | ||
Comment 8•3 days ago
|
||
This can be simplified by marking it work in terms of bit index rather than
converting back and forth from byte offsets all the time.
Comment 10•2 days ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/20280fc54582
https://hg.mozilla.org/mozilla-central/rev/7b84a0ec0400
https://hg.mozilla.org/mozilla-central/rev/4c89ad2d94ed
https://hg.mozilla.org/mozilla-central/rev/56b737163e0e
https://hg.mozilla.org/mozilla-central/rev/8e568a61e5ab
https://hg.mozilla.org/mozilla-central/rev/4f85cf27c6cd
https://hg.mozilla.org/mozilla-central/rev/8687dfc6943d
https://hg.mozilla.org/mozilla-central/rev/a38aa536aa36
https://hg.mozilla.org/mozilla-central/rev/386a713dc309
Description
•