diff options
author | Peter Zhu <peter@peterzhu.ca> | 2022-07-20 13:29:34 -0400 |
---|---|---|
committer | Peter Zhu <peter@peterzhu.ca> | 2022-07-21 10:46:32 -0400 |
commit | cdbb9b8555b4ddcc4c557f25ad785cae6209478d (patch) | |
tree | 00a23b3f4ca696b031cc826a5fc17f87f1b2b14c /array.rb | |
parent | 804b073573eb180f12e77a0e3840f04d6eac86aa (diff) | |
download | ruby-cdbb9b8555b4ddcc4c557f25ad785cae6209478d.tar.gz |
[Bug #18929] Fix heap creation thrashing in GC
Before this commit, if we don't have enough slots after sweeping but
had pages on the tomb heap, then the GC would frequently allocate and
deallocate pages. This is because after sweeping it would set
allocatable pages (since there were not enough slots) but free the
pages on the tomb heap.
This commit reuses pages on the tomb heap if there's not enough slots
after sweeping.
Diffstat (limited to 'array.rb')
0 files changed, 0 insertions, 0 deletions