summaryrefslogtreecommitdiff
path: root/tool/lib
diff options
context:
space:
mode:
authorPeter Zhu <peter@peterzhu.ca>2023-12-18 16:55:19 -0500
committerPeter Zhu <peter@peterzhu.ca>2023-12-19 18:29:36 -0500
commit32ecda354f1556edbfdba4723716fa523acbc94d (patch)
tree9d4a21a410f16716341d6b1730bd694d905dbae9 /tool/lib
parent3d984366ca809fdcc9320e776705ecd96efa49a0 (diff)
Support `GC.auto_compact = :empty` on debug builds
This commit adds `GC.auto_compact = :empty` which will run auto-compaction sorting pages by empty slots so the most amount of objects will be moved. This will make it easier to write tests for auto-compaction.
Diffstat (limited to 'tool/lib')
-rw-r--r--tool/lib/envutil.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/tool/lib/envutil.rb b/tool/lib/envutil.rb
index e47523a24b..9be0aac479 100644
--- a/tool/lib/envutil.rb
+++ b/tool/lib/envutil.rb
@@ -245,9 +245,9 @@ module EnvUtil
end
module_function :under_gc_stress
- def under_gc_compact_stress(&block)
+ def under_gc_compact_stress(val = :empty, &block)
auto_compact = GC.auto_compact
- GC.auto_compact = true
+ GC.auto_compact = val
under_gc_stress(&block)
ensure
GC.auto_compact = auto_compact