summaryrefslogtreecommitdiff
path: root/gc.rb
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2019-11-08 15:32:01 +0900
committerKoichi Sasada <ko1@atdot.net>2019-11-08 15:32:01 +0900
commit0b29662606bb80762d58938e847441020301406f (patch)
treeba74d30f435cf97c2a640cefa43aacb44c094185 /gc.rb
parent054cb6d389da6a260830e4bd262aab2ee8fe2cb2 (diff)
fix line break code (fix to LF)
Diffstat (limited to 'gc.rb')
-rw-r--r--gc.rb338
1 files changed, 169 insertions, 169 deletions
diff --git a/gc.rb b/gc.rb
index 6329f9638a..fcfa48fbe1 100644
--- a/gc.rb
+++ b/gc.rb
@@ -1,169 +1,169 @@
-# for gc.c
-
-# The GC module provides an interface to Ruby's mark and
-# sweep garbage collection mechanism.
-#
-# Some of the underlying methods are also available via the ObjectSpace
-# module.
-#
-# You may obtain information about the operation of the GC through
-# GC::Profiler.
-module GC
-
- # call-seq:
- # GC.start -> nil
- # ObjectSpace.garbage_collect -> nil
- # include GC; garbage_collect -> nil
- # GC.start(full_mark: true, immediate_sweep: true) -> nil
- # ObjectSpace.garbage_collect(full_mark: true, immediate_sweep: true) -> nil
- # include GC; garbage_collect(full_mark: true, immediate_sweep: true) -> nil
- #
- # Initiates garbage collection, even if manually disabled.
- #
- # This method is defined with keyword arguments that default to true:
- #
- # def GC.start(full_mark: true, immediate_sweep: true); end
- #
- # Use full_mark: false to perform a minor GC.
- # Use immediate_sweep: false to defer sweeping (use lazy sweep).
- #
- # Note: These keyword arguments are implementation and version dependent. They
- # are not guaranteed to be future-compatible, and may be ignored if the
- # underlying implementation does not support them.
- def self.start full_mark: true, immediate_mark: true, immediate_sweep: true
- __builtin_gc_start_internal full_mark, immediate_mark, immediate_sweep
- end
-
- def garbage_collect full_mark: true, immediate_mark: true, immediate_sweep: true
- __builtin_gc_start_internal full_mark, immediate_mark, immediate_sweep
- end
-
- # call-seq:
- # GC.enable -> true or false
- #
- # Enables garbage collection, returning +true+ if garbage
- # collection was previously disabled.
- #
- # GC.disable #=> false
- # GC.enable #=> true
- # GC.enable #=> false
- #
- def self.enable
- __builtin_gc_enable
- end
-
- # call-seq:
- # GC.disable -> true or false
- #
- # Disables garbage collection, returning +true+ if garbage
- # collection was already disabled.
- #
- # GC.disable #=> false
- # GC.disable #=> true
- def self.disable
- __builtin_gc_disable
- end
-
- # call-seq:
- # GC.stress -> integer, true or false
- #
- # Returns current status of GC stress mode.
- def self.stress
- __builtin_gc_stress_get
- end
-
- # call-seq:
- # GC.stress = flag -> flag
- #
- # Updates the GC stress mode.
- #
- # When stress mode is enabled, the GC is invoked at every GC opportunity:
- # all memory and object allocations.
- #
- # Enabling stress mode will degrade performance, it is only for debugging.
- #
- # flag can be true, false, or an integer bit-ORed following flags.
- # 0x01:: no major GC
- # 0x02:: no immediate sweep
- # 0x04:: full mark after malloc/calloc/realloc
- def self.stress=(flag)
- __builtin_gc_stress_set_m flag
- end
-
- # call-seq:
- # GC.count -> Integer
- #
- # The number of times GC occurred.
- #
- # It returns the number of times GC occurred since the process started.
- def self.count
- __builtin_gc_count
- end
-
- # call-seq:
- # GC.stat -> Hash
- # GC.stat(hash) -> hash
- # GC.stat(:key) -> Numeric
- #
- # Returns a Hash containing information about the GC.
- #
- # The hash includes information about internal statistics about GC such as:
- #
- # {
- # :count=>0,
- # :heap_allocated_pages=>24,
- # :heap_sorted_length=>24,
- # :heap_allocatable_pages=>0,
- # :heap_available_slots=>9783,
- # :heap_live_slots=>7713,
- # :heap_free_slots=>2070,
- # :heap_final_slots=>0,
- # :heap_marked_slots=>0,
- # :heap_eden_pages=>24,
- # :heap_tomb_pages=>0,
- # :total_allocated_pages=>24,
- # :total_freed_pages=>0,
- # :total_allocated_objects=>7796,
- # :total_freed_objects=>83,
- # :malloc_increase_bytes=>2389312,
- # :malloc_increase_bytes_limit=>16777216,
- # :minor_gc_count=>0,
- # :major_gc_count=>0,
- # :remembered_wb_unprotected_objects=>0,
- # :remembered_wb_unprotected_objects_limit=>0,
- # :old_objects=>0,
- # :old_objects_limit=>0,
- # :oldmalloc_increase_bytes=>2389760,
- # :oldmalloc_increase_bytes_limit=>16777216
- # }
- #
- # The contents of the hash are implementation specific and may be changed in
- # the future.
- #
- # This method is only expected to work on C Ruby.
- def self.stat hash_or_key = nil
- __builtin_gc_stat hash_or_key
- end
-
- # call-seq:
- # GC.latest_gc_info -> {:gc_by=>:newobj}
- # GC.latest_gc_info(hash) -> hash
- # GC.latest_gc_info(:major_by) -> :malloc
- #
- # Returns information about the most recent garbage collection.
- def self.latest_gc_info hash_or_key = nil
- __builtin_gc_latest_gc_info hash_or_key
- end
-
- def self.compact
- __builtin_rb_gc_compact
- end
-end
-
-module ObjectSpace
- def garbage_collect full_mark: true, immediate_mark: true, immediate_sweep: true
- __builtin_gc_start_internal full_mark, immediate_mark, immediate_sweep
- end
-
- module_function :garbage_collect
-end
+# for gc.c
+
+# The GC module provides an interface to Ruby's mark and
+# sweep garbage collection mechanism.
+#
+# Some of the underlying methods are also available via the ObjectSpace
+# module.
+#
+# You may obtain information about the operation of the GC through
+# GC::Profiler.
+module GC
+
+ # call-seq:
+ # GC.start -> nil
+ # ObjectSpace.garbage_collect -> nil
+ # include GC; garbage_collect -> nil
+ # GC.start(full_mark: true, immediate_sweep: true) -> nil
+ # ObjectSpace.garbage_collect(full_mark: true, immediate_sweep: true) -> nil
+ # include GC; garbage_collect(full_mark: true, immediate_sweep: true) -> nil
+ #
+ # Initiates garbage collection, even if manually disabled.
+ #
+ # This method is defined with keyword arguments that default to true:
+ #
+ # def GC.start(full_mark: true, immediate_sweep: true); end
+ #
+ # Use full_mark: false to perform a minor GC.
+ # Use immediate_sweep: false to defer sweeping (use lazy sweep).
+ #
+ # Note: These keyword arguments are implementation and version dependent. They
+ # are not guaranteed to be future-compatible, and may be ignored if the
+ # underlying implementation does not support them.
+ def self.start full_mark: true, immediate_mark: true, immediate_sweep: true
+ __builtin_gc_start_internal full_mark, immediate_mark, immediate_sweep
+ end
+
+ def garbage_collect full_mark: true, immediate_mark: true, immediate_sweep: true
+ __builtin_gc_start_internal full_mark, immediate_mark, immediate_sweep
+ end
+
+ # call-seq:
+ # GC.enable -> true or false
+ #
+ # Enables garbage collection, returning +true+ if garbage
+ # collection was previously disabled.
+ #
+ # GC.disable #=> false
+ # GC.enable #=> true
+ # GC.enable #=> false
+ #
+ def self.enable
+ __builtin_gc_enable
+ end
+
+ # call-seq:
+ # GC.disable -> true or false
+ #
+ # Disables garbage collection, returning +true+ if garbage
+ # collection was already disabled.
+ #
+ # GC.disable #=> false
+ # GC.disable #=> true
+ def self.disable
+ __builtin_gc_disable
+ end
+
+ # call-seq:
+ # GC.stress -> integer, true or false
+ #
+ # Returns current status of GC stress mode.
+ def self.stress
+ __builtin_gc_stress_get
+ end
+
+ # call-seq:
+ # GC.stress = flag -> flag
+ #
+ # Updates the GC stress mode.
+ #
+ # When stress mode is enabled, the GC is invoked at every GC opportunity:
+ # all memory and object allocations.
+ #
+ # Enabling stress mode will degrade performance, it is only for debugging.
+ #
+ # flag can be true, false, or an integer bit-ORed following flags.
+ # 0x01:: no major GC
+ # 0x02:: no immediate sweep
+ # 0x04:: full mark after malloc/calloc/realloc
+ def self.stress=(flag)
+ __builtin_gc_stress_set_m flag
+ end
+
+ # call-seq:
+ # GC.count -> Integer
+ #
+ # The number of times GC occurred.
+ #
+ # It returns the number of times GC occurred since the process started.
+ def self.count
+ __builtin_gc_count
+ end
+
+ # call-seq:
+ # GC.stat -> Hash
+ # GC.stat(hash) -> hash
+ # GC.stat(:key) -> Numeric
+ #
+ # Returns a Hash containing information about the GC.
+ #
+ # The hash includes information about internal statistics about GC such as:
+ #
+ # {
+ # :count=>0,
+ # :heap_allocated_pages=>24,
+ # :heap_sorted_length=>24,
+ # :heap_allocatable_pages=>0,
+ # :heap_available_slots=>9783,
+ # :heap_live_slots=>7713,
+ # :heap_free_slots=>2070,
+ # :heap_final_slots=>0,
+ # :heap_marked_slots=>0,
+ # :heap_eden_pages=>24,
+ # :heap_tomb_pages=>0,
+ # :total_allocated_pages=>24,
+ # :total_freed_pages=>0,
+ # :total_allocated_objects=>7796,
+ # :total_freed_objects=>83,
+ # :malloc_increase_bytes=>2389312,
+ # :malloc_increase_bytes_limit=>16777216,
+ # :minor_gc_count=>0,
+ # :major_gc_count=>0,
+ # :remembered_wb_unprotected_objects=>0,
+ # :remembered_wb_unprotected_objects_limit=>0,
+ # :old_objects=>0,
+ # :old_objects_limit=>0,
+ # :oldmalloc_increase_bytes=>2389760,
+ # :oldmalloc_increase_bytes_limit=>16777216
+ # }
+ #
+ # The contents of the hash are implementation specific and may be changed in
+ # the future.
+ #
+ # This method is only expected to work on C Ruby.
+ def self.stat hash_or_key = nil
+ __builtin_gc_stat hash_or_key
+ end
+
+ # call-seq:
+ # GC.latest_gc_info -> {:gc_by=>:newobj}
+ # GC.latest_gc_info(hash) -> hash
+ # GC.latest_gc_info(:major_by) -> :malloc
+ #
+ # Returns information about the most recent garbage collection.
+ def self.latest_gc_info hash_or_key = nil
+ __builtin_gc_latest_gc_info hash_or_key
+ end
+
+ def self.compact
+ __builtin_rb_gc_compact
+ end
+end
+
+module ObjectSpace
+ def garbage_collect full_mark: true, immediate_mark: true, immediate_sweep: true
+ __builtin_gc_start_internal full_mark, immediate_mark, immediate_sweep
+ end
+
+ module_function :garbage_collect
+end