RESOLVED FIXED306654
[JSC] SequesteredImmortalHeap should support unlimited number of threads
https://bugs.webkit.org/show_bug.cgi?id=306654
Summary [JSC] SequesteredImmortalHeap should support unlimited number of threads
Marcus Plutowski
Reported 2026-01-30 14:24:12 PST
rdar://169305352 Before a thread uses SequesteredArenaMalloc, it must be allocated a thread-local handle that manages its arena + decommit queue. Currently, there is a fixed limit to the number of these handles that can be allocated (as they are currently allocated out of a single static page), and as they are never collected from threads, this imposes an upper bound to the number of compiler threads that can run within a single VM. This limit is currently set at 110, and there’s no indication of anything hitting it (as we never actually spin up that many compiler threads), but if they were somehow to do so (e.g. on some future system?) they would hit a RELEASE_ASSERT and crash. It would be cleaner if we could fall back to some flexible out-of-line allocation strategy. Furthermore, this will also allow us to increase the size of these handles, e.g. from 128B to 256B, without reducing the upper limit of compiler workers.
Attachments
Marcus Plutowski
Comment 1 2026-01-30 14:37:28 PST
EWS
Comment 2 2026-02-02 15:36:05 PST
Committed 306659@main (af95d936795d): <https://commits.webkit.org/306659@main> Reviewed commits have been landed. Closing PR #57589 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.