Defines | Functions | Variables

gc.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define SET_MACHINE_STACK_END(p)   rb_gc_set_stack_end(p)
#define USE_CONSERVATIVE_STACK_END
#define RUBY_MARK_FREE_DEBUG   0
#define RUBY_MARK_ENTER(msg)
#define RUBY_MARK_LEAVE(msg)
#define RUBY_FREE_ENTER(msg)
#define RUBY_FREE_LEAVE(msg)
#define RUBY_GC_INFO   if(0)printf
#define RUBY_MARK_UNLESS_NULL(ptr)   if(RTEST(ptr)){rb_gc_mark(ptr);}
#define RUBY_FREE_UNLESS_NULL(ptr)   if(ptr){ruby_xfree(ptr);}
#define stack_growup_p(x)
#define STACK_UPPER(x, a, b)   (stack_growup_p(x) ? a : b)

Functions

 NOINLINE (void rb_gc_set_stack_end(VALUE **stack_end_p))
int ruby_get_stack_grow_direction (volatile VALUE *addr)

Variables

RUBY_EXTERN int ruby_stack_grow_direction

Define Documentation

#define RUBY_FREE_ENTER (   msg  ) 
#define RUBY_FREE_LEAVE (   msg  ) 
#define RUBY_FREE_UNLESS_NULL (   ptr  )     if(ptr){ruby_xfree(ptr);}

Definition at line 61 of file gc.h.

Referenced by cont_free(), env_free(), iseq_free(), and thread_free().

#define RUBY_GC_INFO   if(0)printf

Definition at line 57 of file gc.h.

Referenced by env_mark(), iseq_free(), iseq_mark(), rb_vm_mark(), and thread_free().

#define RUBY_MARK_ENTER (   msg  ) 
#define RUBY_MARK_FREE_DEBUG   0

Definition at line 18 of file gc.h.

#define RUBY_MARK_LEAVE (   msg  ) 
#define RUBY_MARK_UNLESS_NULL (   ptr  )     if(RTEST(ptr)){rb_gc_mark(ptr);}

Definition at line 60 of file gc.h.

Referenced by binding_mark(), env_mark(), iseq_mark(), proc_mark(), rb_thread_mark(), and rb_vm_mark().

#define SET_MACHINE_STACK_END (   p  )     rb_gc_set_stack_end(p)

Definition at line 11 of file gc.h.

Referenced by cont_save_machine_stack(), and ruby_get_stack_grow_direction().

#define stack_growup_p (   x  ) 
Value:

Definition at line 70 of file gc.h.

#define STACK_UPPER (   x,
  a,
  b 
)    (stack_growup_p(x) ? a : b)

Definition at line 74 of file gc.h.

Referenced by ruby_cleanup(), and ruby_stack_length().

#define USE_CONSERVATIVE_STACK_END

Definition at line 12 of file gc.h.


Function Documentation

NOINLINE ( void   rb_gc_set_stack_endVALUE **stack_end_p  ) 
int ruby_get_stack_grow_direction ( volatile VALUE addr  ) 

Definition at line 1188 of file gc.c.

References SET_MACHINE_STACK_END.


Variable Documentation

RUBY_EXTERN int ruby_stack_grow_direction

Definition at line 68 of file gc.h.