ÿØÿà JFIF    ÿÛ „ ( %!1!%*+...983,7(-.- auto_compact%3d-c.ri000064400000001014152367623370010304 0ustar00U:RDoc::AnyMethod[iI"auto_compact=:ETI"GC::auto_compact=;TT: privateo:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"'Updates automatic compaction mode.;To:RDoc::Markup::BlankLineo; ; [I"HWhen enabled, the compactor will execute on every major collection.;T@o; ; [I"GEnabling compaction will degrade performance on major collections.;T: @fileI" gc.rb;T:0@omit_headings_from_table_of_contents_below0I"GC.auto_compact = flag ;T0[I" (flag);T@FI"GC;TcRDoc::NormalModule00latest_gc_info-c.ri000064400000000702152367623370010315 0ustar00U:RDoc::AnyMethod[iI"latest_gc_info:ETI"GC::latest_gc_info;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"BReturns information about the most recent garbage collection.;T: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I"tGC.latest_gc_info -> {:gc_by=>:newobj} GC.latest_gc_info(hash) -> hash GC.latest_gc_info(:major_by) -> :malloc ;T0[I"(p1 = v1);T@FI"GC;TcRDoc::NormalModule00auto_compact-c.ri000064400000000556152367623370010022 0ustar00U:RDoc::AnyMethod[iI"auto_compact:ETI"GC::auto_compact;TT: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"BReturns whether or not automatic compaction has been enabled.;T: @fileI" gc.rb;T:0@omit_headings_from_table_of_contents_below0I")GC.auto_compact -> true or false ;T0[I"();T@FI"GC;TcRDoc::NormalModule00cdesc-GC.ri000064400000002162152367623370006467 0ustar00U:RDoc::NormalModule[iI"GC:ET@0o:RDoc::Markup::Document: @parts[o;;[ o:RDoc::Markup::Paragraph;[I" Integer ;T0[I"();T@FI"GC;TcRDoc::NormalModule00start-c.ri000064400000001673152367623370006502 0ustar00U:RDoc::AnyMethod[iI" start:ETI"GC::start;TT: publico:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"def GC.start(full_mark: true, immediate_sweep: true) end ;T: @format0o; ; [I"1Use full_mark: false to perform a minor GC. ;TI"CUse immediate_sweep: false to defer sweeping (use lazy sweep).;T@o; ; [I"RNote: These keyword arguments are implementation and version dependent. They ;TI"Kare not guaranteed to be future-compatible, and may be ignored if the ;TI"5underlying implementation does not support them.;T: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I"LGC.start -> nil GC.start(full_mark: false) -> nil;T0[I"(p1 = {});T@FI"GC;TcRDoc::NormalModule00remove_stress_to_class-c.ri000064400000000644152367623370012131 0ustar00U:RDoc::AnyMethod[iI"remove_stress_to_class:ETI"GC::remove_stress_to_class;TT: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"GNo longer raises NoMemoryError when allocating an instance of the ;TI"given classes.;T: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I"-GC.remove_stress_to_class(class[, ...]) ;T0[I" (*args);T@FI"GC;TcRDoc::NormalModule00verify_transient_heap_internal_consistency-c.ri000064400000000434152367623370016244 0ustar00U:RDoc::AnyMethod[iI"/verify_transient_heap_internal_consistency:ETI"3GC::verify_transient_heap_internal_consistency;TT: privateo:RDoc::Markup::Document: @parts[: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI"GC;TcRDoc::NormalModule00add_stress_to_class-c.ri000064400000000612152367623370011357 0ustar00U:RDoc::AnyMethod[iI"add_stress_to_class:ETI"GC::add_stress_to_class;TT: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"KRaises NoMemoryError when allocating an instance of the given classes.;T: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I"*GC.add_stress_to_class(class[, ...]) ;T0[I" (*args);T@FI"GC;TcRDoc::NormalModule00stat-c.ri000064400000002572152367623370006317 0ustar00U:RDoc::AnyMethod[iI" stat:ETI" GC::stat;TT: publico:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"8Returns a Hash containing information about the GC.;To:RDoc::Markup::BlankLineo; ; [I"NThe hash includes information about internal statistics about GC such as:;T@o:RDoc::Markup::Verbatim; [I"{ ;TI" :count=>2, ;TI" :heap_used=>9, ;TI" :heap_length=>11, ;TI" :heap_increment=>2, ;TI" :heap_live_slot=>6836, ;TI" :heap_free_slot=>519, ;TI" :heap_final_slot=>0, ;TI" :heap_swept_slot=>818, ;TI"( :total_allocated_object=>7674, ;TI"# :total_freed_object=>838, ;TI"# :malloc_increase=>181034, ;TI"" :malloc_limit=>16777216, ;TI" :minor_gc_count=>2, ;TI" :major_gc_count=>0, ;TI"' :remembered_shady_object=>55, ;TI", :remembered_shady_object_limit=>0, ;TI" :old_object=>2422, ;TI" :old_object_limit=>0, ;TI"& :oldmalloc_increase=>277386, ;TI"$ :oldmalloc_limit=>16777216 ;TI"} ;T: @format0o; ; [I"PThe contents of the hash are implementation specific and may be changed in ;TI"the future.;T@o; ; [I"4This method is only expected to work on C Ruby.;T: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I"DGC.stat -> Hash GC.stat(hash) -> hash GC.stat(:key) -> Numeric ;T0[I"(p1 = v1);T@1FI"GC;TcRDoc::NormalModule00enable-c.ri000064400000001032152367623370006560 0ustar00U:RDoc::AnyMethod[iI" enable:ETI"GC::enable;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"=Enables garbage collection, returning +true+ if garbage ;TI"(collection was previously disabled.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"GC.disable #=> false ;TI"GC.enable #=> true ;TI"GC.enable #=> false;T: @format0: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I"#GC.enable -> true or false ;T0[I"();T@FI"GC;TcRDoc::NormalModule00measure_total_time%3d-c.ri000064400000000742152367623370011517 0ustar00U:RDoc::AnyMethod[iI"measure_total_time=:ETI"GC::measure_total_time=;TT: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I" Enable to measure GC time. ;TI":You can get the result with GC.stat(:time). ;TI"GNote that GC time measurement can cause some performance overhead.;T: @fileI" gc.rb;T:0@omit_headings_from_table_of_contents_below0I"(GC.measure_total_time = true/false ;T0[I" (flag);T@FI"GC;TcRDoc::NormalModule00garbage_collect-i.ri000064400000001716152367623370010446 0ustar00U:RDoc::AnyMethod[iI"garbage_collect:ETI"GC#garbage_collect;TF: publico:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"def GC.start(full_mark: true, immediate_sweep: true) end ;T: @format0o; ; [I"1Use full_mark: false to perform a minor GC. ;TI"CUse immediate_sweep: false to defer sweeping (use lazy sweep).;T@o; ; [I"RNote: These keyword arguments are implementation and version dependent. They ;TI"Kare not guaranteed to be future-compatible, and may be ignored if the ;TI"5underlying implementation does not support them.;T: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I"LGC.garbage_collect -> nil ObjectSpace.garbage_collect -> nil;T0[I"(p1 = {});T@FI"GC;TcRDoc::NormalModule00compact-c.ri000064400000001376152367623370006773 0ustar00U:RDoc::AnyMethod[iI" compact:ETI"GC::compact;TT: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [ I"LThis function compacts objects together in Ruby's heap. It eliminates ;TI"Nunused space (or fragmentation) in the heap by moving objects in to that ;TI"Qunused space. This function returns a hash which contains statistics about ;TI"Jwhich objects were moved. See `GC.latest_gc_info` for details about ;TI"compaction statistics.;To:RDoc::Markup::BlankLineo; ; [I"OThis method is implementation specific and not expected to be implemented ;TI"'in any implementation besides MRI.;T: @fileI" gc.rb;T:0@omit_headings_from_table_of_contents_below0I"GC.compact ;T0[I"();T@FI"GC;TcRDoc::NormalModule00stress%3d-c.ri000064400000001064152367623370007156 0ustar00U:RDoc::AnyMethod[iI" stress=:ETI"GC::stress=;TT: publico:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I" Updates the GC stress mode.;To:RDoc::Markup::BlankLineo; ; [I"MWhen stress mode is enabled, the GC is invoked at every GC opportunity: ;TI"'all memory and object allocations.;T@o; ; [I"MEnabling stress mode will degrade performance, it is only for debugging.;T: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I"'GC.stress = bool -> bool ;T0[I" (p1);T@FI"GC;TcRDoc::NormalModule00measure_total_time-c.ri000064400000000663152367623370011225 0ustar00U:RDoc::AnyMethod[iI"measure_total_time:ETI"GC::measure_total_time;TT: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"7Return measure_total_time flag (default: +true+). ;TI"BNote that measurement can affect the application performance.;T: @fileI" gc.rb;T:0@omit_headings_from_table_of_contents_below0I")GC.measure_total_time -> true/false ;T0[I"();T@FI"GC;TcRDoc::NormalModule00verify_compaction_references-c.ri000064400000002004152367623370013253 0ustar00U:RDoc::AnyMethod[iI"!verify_compaction_references:ETI"%GC::verify_compaction_references;TT: privateo:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"-Verify compaction reference consistency.;To:RDoc::Markup::BlankLineo; ; [I"NThis method is implementation specific. During compaction, objects that ;TI"Lwere moved are replaced with T_MOVED objects. No object should have a ;TI"4reference to a T_MOVED object after compaction.;T@o; ; [ I"HThis function doubles the heap to ensure room to move all objects, ;TI"Ncompacts the heap to make sure everything moves, updates all references, ;TI"Othen performs a full GC. If any object contains a reference to a T_MOVED ;TI"Fobject, that object should be pushed on the mark stack, and will ;TI"make a SEGV.;T: @fileI" gc.rb;T:0@omit_headings_from_table_of_contents_below0I"NGC.verify_compaction_references(toward: nil, double_heap: false) -> hash ;T0[I"&(toward: nil, double_heap: false);T@FI"GC;TcRDoc::NormalModule00count-c.ri000064400000000640152367623370006466 0ustar00U:RDoc::AnyMethod[iI" count:ETI"GC::count;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"%The number of times GC occurred.;To:RDoc::Markup::BlankLineo; ; [I"JIt returns the number of times GC occurred since the process started.;T: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I"GC.count -> Integer ;T0[I"();T@FI"GC;TcRDoc::NormalModule00verify_internal_consistency-c.ri000064400000001043152367623370013155 0ustar00U:RDoc::AnyMethod[iI" verify_internal_consistency:ETI"$GC::verify_internal_consistency;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"!Verify internal consistency.;To:RDoc::Markup::BlankLineo; ; [I"-This method is implementation specific. ;TI"5Now this method checks generatioanl consistency ;TI"if RGenGC is supported.;T: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I" nil ;T0[I"();T@FI"GC;TcRDoc::NormalModule00Profiler/clear-c.ri000064400000000514152367623370010206 0ustar00U:RDoc::AnyMethod[iI" clear:ETI"GC::Profiler::clear;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"!Clears the GC profiler data.;T: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I"(GC::Profiler.clear -> nil ;T0[I"();T@FI" Profiler;TcRDoc::NormalModule00Profiler/result-c.ri000064400000001251152367623370010435 0ustar00U:RDoc::AnyMethod[iI" result:ETI"GC::Profiler::result;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"+Returns a profile data report such as:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"GC 1 invokes. ;TI"}Index Invoke Time(sec) Use Size(byte) Total Size(byte) Total Object GC time(ms) ;TI"| 1 0.012 159240 212940 10647 0.00000000000001530000;T: @format0: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I"$GC::Profiler.result -> String ;T0[I"();T@FI" Profiler;TcRDoc::NormalModule00Profiler/cdesc-Profiler.ri000064400000001711152367623370011541 0ustar00U:RDoc::NormalModule[iI" Profiler:ETI"GC::Profiler;T0o:RDoc::Markup::Document: @parts[o;;[ o:RDoc::Markup::Paragraph;[I"OThe GC profiler provides access to information on GC runs including time, ;TI""length and object space size.;To:RDoc::Markup::BlankLineo; ;[I" Example:;T@o:RDoc::Markup::Verbatim;[ I"GC::Profiler.enable ;TI" ;TI"require 'rdoc/rdoc' ;TI" ;TI"GC::Profiler.report ;TI" ;TI"GC::Profiler.disable ;T: @format0o; ;[I"JSee also GC.count, GC.malloc_allocated_size and GC.malloc_allocations;T: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0; 0;0[[[[[I" class;T[[: public[ [I" clear;TI" gc.c;T[I" disable;T@-[I" enable;T@-[I" enabled?;T@-[I" raw_data;T@-[I" report;T@-[I" result;T@-[I"total_time;T@-[:protected[[: private[[I" instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[; 0;0[@!I"GC;TcRDoc::NormalModuleProfiler/enable-c.ri000064400000000507152367623370010350 0ustar00U:RDoc::AnyMethod[iI" enable:ETI"GC::Profiler::enable;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"Starts the GC profiler.;T: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I"&GC::Profiler.enable -> nil ;T0[I"();T@FI" Profiler;TcRDoc::NormalModule00Profiler/report-c.ri000064400000000614152367623370010434 0ustar00U:RDoc::AnyMethod[iI" report:ETI"GC::Profiler::report;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"OWrites the GC::Profiler.result to $stdout or the given IO object.;T: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I"1GC::Profiler.report GC::Profiler.report(io) ;T0[I"(p1 = v1);T@FI" Profiler;TcRDoc::NormalModule00Profiler/enabled%3f-c.ri000064400000000544152367623370011013 0ustar00U:RDoc::AnyMethod[iI" enabled?:ETI"GC::Profiler::enabled?;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"+The current status of GC profile mode.;T: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I"0GC::Profiler.enabled? -> true or false ;T0[I"();T@FI" Profiler;TcRDoc::NormalModule00Profiler/disable-c.ri000064400000000510152367623370010517 0ustar00U:RDoc::AnyMethod[iI" disable:ETI"GC::Profiler::disable;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"Stops the GC profiler.;T: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I"&GC::Profiler.disable -> nil ;T0[I"();T@FI" Profiler;TcRDoc::NormalModule00Profiler/total_time-c.ri000064400000000556152367623370011267 0ustar00U:RDoc::AnyMethod[iI"total_time:ETI"GC::Profiler::total_time;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I":The total time used for garbage collection in seconds;T: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I"'GC::Profiler.total_time -> float ;T0[I"();T@FI" Profiler;TcRDoc::NormalModule00Profiler/raw_data-c.ri000064400000003405152367623370010704 0ustar00U:RDoc::AnyMethod[iI" raw_data:ETI"GC::Profiler::raw_data;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"DReturns an Array of individual raw profile data Hashes ordered ;TI"2from earliest to latest by +:GC_INVOKE_TIME+.;To:RDoc::Markup::BlankLineo; ; [I"For example:;T@o:RDoc::Markup::Verbatim; [I"[ ;TI" { ;TI", :GC_TIME=>1.3000000000000858e-05, ;TI"1 :GC_INVOKE_TIME=>0.010634999999999999, ;TI"" :HEAP_USE_SIZE=>289640, ;TI"$ :HEAP_TOTAL_SIZE=>588960, ;TI"& :HEAP_TOTAL_OBJECTS=>14724, ;TI" :GC_IS_MARKED=>false ;TI" }, ;TI" # ... ;TI"] ;T: @format0o; ; [I"The keys mean:;T@o:RDoc::Markup::List: @type: NOTE: @items[ o:RDoc::Markup::ListItem: @label[I"+:GC_TIME+;T; [o; ; [I",Time elapsed in seconds for this GC run;To;;[I"+:GC_INVOKE_TIME+;T; [o; ; [I"DTime elapsed in seconds from startup to when the GC was invoked;To;;[I"+:HEAP_USE_SIZE+;T; [o; ; [I"Total bytes of heap used;To;;[I"+:HEAP_TOTAL_SIZE+;T; [o; ; [I" Total size of heap in bytes;To;;[I"+:HEAP_TOTAL_OBJECTS+;T; [o; ; [I"Total number of objects;To;;[I"+:GC_IS_MARKED+;T; [o; ; [I".Returns +true+ if the GC is in mark phase;T@o; ; [I"PIf ruby was built with +GC_PROFILE_MORE_DETAIL+, you will also have access ;TI" to the following hash keys:;T@o;;;;[o;;[ I"+:GC_MARK_TIME+;TI"+:GC_SWEEP_TIME+;TI"+:ALLOCATE_INCREASE+;TI"+:ALLOCATE_LIMIT+;TI"+:HEAP_USE_PAGES+;TI"+:HEAP_LIVE_OBJECTS+;TI"+:HEAP_FREE_OBJECTS+;TI"+:HAVE_FINALIZE+;T; [: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I"-GC::Profiler.raw_data -> [Hash, ...] ;T0[I"();T@`FI" Profiler;TcRDoc::NormalModule00disable-c.ri000064400000000775152367623370006752 0ustar00U:RDoc::AnyMethod[iI" disable:ETI"GC::disable;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I">Disables garbage collection, returning +true+ if garbage ;TI"%collection was already disabled.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"GC.disable #=> false ;TI"GC.disable #=> true;T: @format0: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I"$GC.disable -> true or false ;T0[I"();T@FI"GC;TcRDoc::NormalModule00stress-c.ri000064400000000517152367623370006664 0ustar00U:RDoc::AnyMethod[iI" stress:ETI"GC::stress;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I".Returns current status of GC stress mode.;T: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I",GC.stress -> fixnum, true or false ;T0[I"();T@FI"GC;TcRDoc::NormalModule00total_time-c.ri000064400000000514152367623370007477 0ustar00U:RDoc::AnyMethod[iI"total_time:ETI"GC::total_time;TT: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"3Return measured GC total time in nano seconds.;T: @fileI" gc.rb;T:0@omit_headings_from_table_of_contents_below0I"GC.total_time -> int ;T0[I"();T@FI"GC;TcRDoc::NormalModule00malloc_allocated_size-c.ri000064400000000733152367623370011652 0ustar00U:RDoc::AnyMethod[iI"malloc_allocated_size:ETI"GC::malloc_allocated_size;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"6Returns the size of memory allocated by malloc().;To:RDoc::Markup::BlankLineo; ; [I"DOnly available if ruby was built with +CALC_EXACT_MALLOC_SIZE+.;T: @fileI" gc.c;T:0@omit_headings_from_table_of_contents_below0I")GC.malloc_allocated_size -> Integer ;T0[I"();T@FI"GC;TcRDoc::NormalModule00latest_compact_info-c.ri000064400000001540152367623370011353 0ustar00U:RDoc::AnyMethod[iI"latest_compact_info:ETI"GC::latest_compact_info;TT: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Verbatim; [I"NReturns information about object moved in the most recent GC compaction. ;T: @format0o:RDoc::Markup::Paragraph; [ I"JThe returned hash has two keys :considered and :moved. The hash for ;TI"O:considered lists the number of objects that were considered for movement ;TI"Lby the compactor, and the :moved hash lists the number of objects that ;TI"Pwere actually moved. Some objects can't be moved (maybe they were pinned) ;TI"Eso these numbers can be used to calculate compaction efficiency.;T: @fileI" gc.rb;T:0@omit_headings_from_table_of_contents_below0I"UGC.latest_compact_info -> {:considered=>{:T_CLASS=>11}, :moved=>{:T_CLASS=>11}} ;T0[I"();T@FI"GC;TcRDoc::NormalModule00