Module: GC
- Defined in:
- gc.c
Class Method Summary collapse
-
.disable ⇒ Boolean
Disables garbage collection, returning
true
if garbage collection was already disabled. -
.enable ⇒ Boolean
Enables garbage collection, returning
true
if garbage collection was previously disabled. -
.start ⇒ Object
Initiates garbage collection, unless manually disabled.
-
.stress ⇒ Boolean
returns current status of GC stress mode.
-
.stress=(bool) ⇒ Object
updates GC stress mode.
Instance Method Summary collapse
-
#garbage_collect ⇒ Object
Initiates garbage collection, unless manually disabled.
Class Method Details
.disable ⇒ Boolean
Disables garbage collection, returning true
if garbage collection was already disabled.
GC.disable #=> false
GC.disable #=> true
|
# File 'gc.c'
/*
* call-seq:
* GC.disable => true or false
*
* Disables garbage collection, returning <code>true</code> if garbage
* collection was already disabled.
*
* GC.disable #=> false
* GC.disable #=> true
*
*/
VALUE
rb_gc_disable()
{
int old = dont_gc;
dont_gc = Qtrue;
return old;
}
|
.enable ⇒ Boolean
Enables garbage collection, returning true
if garbage collection was previously disabled.
GC.disable #=> false
GC.enable #=> true
GC.enable #=> false
|
# File 'gc.c'
/*
* call-seq:
* GC.enable => true or false
*
* Enables garbage collection, returning <code>true</code> if garbage
* collection was previously disabled.
*
* GC.disable #=> false
* GC.enable #=> true
* GC.enable #=> false
*
*/
VALUE
rb_gc_enable()
{
int old = dont_gc;
dont_gc = Qfalse;
return old;
}
|
.start ⇒ nil .garbage_collect ⇒ nil .garbage_collect ⇒ nil
Initiates garbage collection, unless manually disabled.
|
# File 'gc.c'
/*
* call-seq:
* GC.start => nil
* gc.garbage_collect => nil
* ObjectSpace.garbage_collect => nil
*
* Initiates garbage collection, unless manually disabled.
*
*/
VALUE
rb_gc_start()
{
rb_gc();
return Qnil;
}
|
.stress ⇒ Boolean
returns current status of GC stress mode.
|
# File 'gc.c'
/*
* call-seq:
* GC.stress => true or false
*
* returns current status of GC stress mode.
*/
static VALUE
gc_stress_get(self)
VALUE self;
{
return ruby_gc_stress ? Qtrue : Qfalse;
}
|
.stress=(bool) ⇒ Object
updates GC stress mode.
When GC.stress = true, GC is invoked for all GC opportunity: all memory and object allocation.
Since it makes Ruby very slow, it is only for debugging.
|
# File 'gc.c'
/*
* call-seq:
* GC.stress = bool => bool
*
* updates GC stress mode.
*
* When GC.stress = true, GC is invoked for all GC opportunity:
* all memory and object allocation.
*
* Since it makes Ruby very slow, it is only for debugging.
*/
static VALUE
gc_stress_set(self, bool)
VALUE self, bool;
{
rb_secure(2);
ruby_gc_stress = RTEST(bool);
return bool;
}
|
Instance Method Details
#start ⇒ nil #garbage_collect ⇒ nil #garbage_collect ⇒ nil
Initiates garbage collection, unless manually disabled.
|
# File 'gc.c'
/*
* call-seq:
* GC.start => nil
* gc.garbage_collect => nil
* ObjectSpace.garbage_collect => nil
*
* Initiates garbage collection, unless manually disabled.
*
*/
VALUE
rb_gc_start()
{
rb_gc();
return Qnil;
}
|