Defines | Functions

ext/objspace/objspace.c File Reference

#include <ruby/ruby.h>
#include <ruby/st.h>
#include <ruby/io.h>
#include <ruby/re.h>
#include <../../node.h>
Include dependency graph for objspace.c:

Go to the source code of this file.

Defines

#define COUNT_TYPE(t)   case t: type = ID2SYM(rb_intern(#t)); break;
#define COUNT_NODE(n)   case n: node = ID2SYM(rb_intern(#n)); break;

Functions

size_t rb_str_memsize (VALUE)
size_t rb_ary_memsize (VALUE)
size_t rb_io_memsize (rb_io_t *)
size_t onig_memsize (regex_t *)
size_t rb_generic_ivar_memsize (VALUE)
size_t rb_objspace_data_type_memsize (VALUE obj)
void rb_objspace_each_objects (int(*callback)(void *start, void *end, size_t stride, void *data), void *data)
static size_t memsize_of (VALUE obj)
static VALUE memsize_of_m (VALUE self, VALUE obj)
static int set_zero_i (st_data_t key, st_data_t val, st_data_t arg)
static int cos_i (void *vstart, void *vend, size_t stride, void *data)
static VALUE count_objects_size (int argc, VALUE *argv, VALUE os)
static int cn_i (void *vstart, void *vend, size_t stride, void *n)
static VALUE count_nodes (int argc, VALUE *argv, VALUE os)
static int cto_i (void *vstart, void *vend, size_t stride, void *data)
static VALUE count_tdata_objects (int argc, VALUE *argv, VALUE self)
void Init_objspace (void)

Define Documentation

#define COUNT_NODE (   n  )     case n: node = ID2SYM(rb_intern(#n)); break;

Referenced by count_nodes().

#define COUNT_TYPE (   t  )     case t: type = ID2SYM(rb_intern(#t)); break;

Function Documentation

static int cn_i ( void *  vstart,
void *  vend,
size_t  stride,
void *  n 
) [static]

Definition at line 285 of file objspace.c.

References BUILTIN_TYPE, nd_type, and RBASIC.

Referenced by count_nodes().

static int cos_i ( void *  vstart,
void *  vend,
size_t  stride,
void *  data 
) [static]

Definition at line 181 of file objspace.c.

References BUILTIN_TYPE, memsize_of(), and RBASIC.

Referenced by count_objects_size().

static VALUE count_nodes ( int  argc,
VALUE argv,
VALUE  os 
) [static]

Definition at line 323 of file objspace.c.

References cn_i(), COUNT_NODE, INT2FIX, NODE_ALIAS, NODE_ALLOCA, NODE_AND, NODE_ARGS, NODE_ARGS_AUX, NODE_ARGSCAT, NODE_ARGSPUSH, NODE_ARRAY, NODE_ATTRASGN, NODE_BACK_REF, NODE_BEGIN, NODE_BLOCK, NODE_BLOCK_ARG, NODE_BLOCK_PASS, NODE_BMETHOD, NODE_BREAK, NODE_CALL, NODE_CASE, NODE_CDECL, NODE_CLASS, NODE_COLON2, NODE_COLON3, NODE_CONST, NODE_CVAR, NODE_CVASGN, NODE_CVDECL, NODE_DASGN, NODE_DASGN_CURR, NODE_DEFINED, NODE_DEFN, NODE_DEFS, NODE_DOT2, NODE_DOT3, NODE_DREGX, NODE_DREGX_ONCE, NODE_DSTR, NODE_DSYM, NODE_DVAR, NODE_DXSTR, NODE_ENSURE, NODE_ERRINFO, NODE_EVSTR, NODE_FALSE, NODE_FCALL, NODE_FLIP2, NODE_FLIP3, NODE_FOR, NODE_GASGN, NODE_GVAR, NODE_HASH, NODE_IASGN, NODE_IASGN2, NODE_IF, NODE_IFUNC, NODE_ITER, NODE_IVAR, NODE_LAMBDA, NODE_LASGN, NODE_LAST, NODE_LIT, NODE_LVAR, NODE_MASGN, NODE_MATCH, NODE_MATCH2, NODE_MATCH3, NODE_MEMO, NODE_MODULE, NODE_NEXT, NODE_NIL, NODE_NTH_REF, NODE_OP_ASGN1, NODE_OP_ASGN2, NODE_OP_ASGN_AND, NODE_OP_ASGN_OR, NODE_OPT_ARG, NODE_OPT_N, NODE_OPTBLOCK, NODE_OR, NODE_POSTARG, NODE_POSTEXE, NODE_PRELUDE, NODE_REDO, NODE_RESBODY, NODE_RESCUE, NODE_RETRY, NODE_RETURN, NODE_SCLASS, NODE_SCOPE, NODE_SELF, NODE_SPLAT, NODE_STR, NODE_SUPER, NODE_TO_ARY, NODE_TRUE, NODE_UNDEF, NODE_UNTIL, NODE_VALIAS, NODE_VALUES, NODE_VCALL, NODE_WHEN, NODE_WHILE, NODE_XSTR, NODE_YIELD, NODE_ZARRAY, NODE_ZSUPER, Qnil, rb_eTypeError, rb_hash_aset(), rb_hash_new(), rb_objspace_each_objects(), rb_raise(), rb_scan_args(), RHASH_EMPTY_P, RHASH_TBL, set_zero_i(), SIZET2NUM, st_foreach(), T_HASH, and TYPE.

Referenced by Init_objspace().

static VALUE count_objects_size ( int  argc,
VALUE argv,
VALUE  os 
) [static]
static VALUE count_tdata_objects ( int  argc,
VALUE argv,
VALUE  self 
) [static]
static int cto_i ( void *  vstart,
void *  vend,
size_t  stride,
void *  data 
) [static]

Definition at line 466 of file objspace.c.

References BUILTIN_TYPE, FIX2INT, hash(), INT2FIX, NIL_P, rb_hash_aref(), rb_hash_aset(), and RBASIC.

Referenced by count_tdata_objects().

void Init_objspace ( void   ) 
static size_t memsize_of ( VALUE  obj  )  [static]
static VALUE memsize_of_m ( VALUE  self,
VALUE  obj 
) [static]

Definition at line 166 of file objspace.c.

References memsize_of(), and SIZET2NUM.

Referenced by Init_objspace().

size_t onig_memsize ( regex_t  ) 
size_t rb_ary_memsize ( VALUE   ) 

Definition at line 390 of file array.c.

References ARY_OWNS_HEAP_P, and RARRAY.

Referenced by memsize_of().

size_t rb_generic_ivar_memsize ( VALUE   ) 

Definition at line 948 of file variable.c.

References st_lookup(), and st_memsize().

Referenced by memsize_of().

size_t rb_io_memsize ( rb_io_t  ) 
size_t rb_objspace_data_type_memsize ( VALUE  obj  ) 

Definition at line 1146 of file gc.c.

References RTYPEDDATA_DATA, RTYPEDDATA_P, and RTYPEDDATA_TYPE.

Referenced by memsize_of().

void rb_objspace_each_objects ( int(*)(void *start, void *end, size_t stride, void *data)  callback,
void *  data 
)
size_t rb_str_memsize ( VALUE   ) 

Definition at line 785 of file string.c.

References RSTRING, STR_EMBED_P, and STR_SHARED_P.

Referenced by memsize_of().

static int set_zero_i ( st_data_t  key,
st_data_t  val,
st_data_t  arg 
) [static]

Definition at line 172 of file objspace.c.

References hash(), INT2FIX, and rb_hash_aset().

Referenced by count_nodes(), count_objects_size(), and count_tdata_objects().