diff options
| author | Peter Zhu <peter@peterzhu.ca> | 2025-08-21 15:50:33 -0400 |
|---|---|---|
| committer | Peter Zhu <peter@peterzhu.ca> | 2025-08-22 10:13:35 -0400 |
| commit | e3e87258ddadf763d9b0b11678935250f9bcc6c3 (patch) | |
| tree | 6c5e71add3030515f3d841cd2091cd771d74fb68 /test/ruby | |
| parent | 34cca18da35ffd3d1fe9009dcbe80881a8b2a8d1 (diff) | |
Fix issue where a new GC could be started during a GC
[Bug #21548]
In lazy sweeping, if we need to allocate an object in a heap where we
weren't able to free any slots, but we also either have empty pages or
could allocate new pages, then we want to preemptively claim a page
because it's possible that sweeping another heap will call gc_sweep_finish_heap,
which may use up all of the empty/allocatable pages. If other heaps are
not finished sweeping then we do not finish this GC and we will end up
triggering a new GC cycle during this GC phase.
Diffstat (limited to 'test/ruby')
0 files changed, 0 insertions, 0 deletions
