Bug 280294
Summary: | Distinguish always/trivially compactible allocations in libpas/bmalloc | ||
---|---|---|---|
Product: | WebKit | Reporter: | David Degazio <d_degazio> |
Component: | bmalloc | Assignee: | David Degazio <d_degazio> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | ggaren, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
David Degazio
rdar://136616671
Currently, we distinguish between compactible allocations and non-compactible allocations in bmalloc/libpas. Beyond this, we should also track allocations that are trivially compactible v.s. non-trivially compactible - some memory regions (like the JIT reservation, or libpas immortal heap) are already mapped as large contiguous ranges, so it's trivial to compress addresses within them as offsets from the base. This is as opposed to other allocations from libpas, where the allocator otherwise operates normally (i.e. we use the bmalloc heap), and might need to actively pick a different space to allocate objects out of when we ask for an allocation we intend to store as a compact or packed pointer.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
David Degazio
Pull request: https://github.com/WebKit/WebKit/pull/34187
EWS
Committed 284395@main (2d71c4b7c91e): <https://commits.webkit.org/284395@main>
Reviewed commits have been landed. Closing PR #34187 and removing active labels.