aboutsummaryrefslogtreecommitdiffstats
path: root/gc.rb
diff options
context:
space:
mode:
authorPeter Zhu <peter@peterzhu.ca>2021-11-25 09:31:58 -0500
committerPeter Zhu <peter@peterzhu.ca>2021-11-25 10:33:17 -0500
commit6157619bb68e4307cdf065cb73d5bfcec30d042d (patch)
treed0fff7d4c5bae8809eb6bafebbf567fa30b4dcdc /gc.rb
parent09ef048b34dd4aed65ec2899315a91d25ffa7629 (diff)
downloadruby-6157619bb68e4307cdf065cb73d5bfcec30d042d.tar.gz
Add GC.stat_size_pool to get stats for a size pool
GC.stat_size_pool will return stats for a particular size pool. This is used for the Variable Width Allocation feature.
Diffstat (limited to 'gc.rb')
-rw-r--r--gc.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/gc.rb b/gc.rb
index 7a60710f66..47beab8cbc 100644
--- a/gc.rb
+++ b/gc.rb
@@ -196,6 +196,24 @@ module GC
Primitive.gc_stat hash_or_key
end
+ # :nodoc:
+ # call-seq:
+ # GC.stat_size_pool(size_pool_idx) -> Hash
+ # GC.stat_size_pool(size_pool_idx, hash) -> Hash
+ # GC.stat_size_pool(size_pool_idx, :key) -> Numeric
+ #
+ # Returns a Hash containing information about a size pool in the GC.
+ #
+ # The contents of the hash are implementation specific and may be changed in
+ # the future.
+ #
+ # If the optional argument, hash, is given, it is overwritten and returned.
+ #
+ # This method is only expected to work on C Ruby.
+ def self.stat_size_pool size_pool_idx, hash_or_key = nil
+ Primitive.gc_stat_size_pool size_pool_idx, hash_or_key
+ end
+
# call-seq:
# GC.latest_gc_info -> {:gc_by=>:newobj}
# GC.latest_gc_info(hash) -> hash