51total_i(
void *vstart,
void *vend,
size_t stride,
void *
ptr)
147cos_i(
void *vstart,
void *vend,
size_t stride,
void *data)
149 size_t *counts = (
size_t *)data;
152 for (;
v != (
VALUE)vend;
v += stride) {
165#define CASE_TYPE(t) case t: type = ID2SYM(rb_intern(#t)); break;
194 default:
rb_bug(
"type2sym: unknown type (%d)",
i);
253cs_i(
void *vstart,
void *vend,
size_t stride,
void *
n)
258 for (;
v != (
VALUE)vend;
v += stride) {
319cn_i(
void *vstart,
void *vend,
size_t stride,
void *
n)
321 size_t *nodes = (
size_t *)
n;
324 for (;
v != (
VALUE)vend;
v += stride) {
374#define COUNT_NODE(n) case n: node = ID2SYM(rb_intern(#n)); goto set
491cto_i(
void *vstart,
void *vend,
size_t stride,
void *data)
496 for (;
v != (
VALUE)vend;
v += stride) {
508 if (
NIL_P(counter)) {
565count_imemo_objects_i(
void *vstart,
void *vend,
size_t stride,
void *data)
570 for (;
v != (
VALUE)vend;
v += stride) {
577 if (
NIL_P(counter)) {
624 if (imemo_type_ids[0] == 0) {
625 imemo_type_ids[0] =
rb_intern(
"imemo_env");
626 imemo_type_ids[1] =
rb_intern(
"imemo_cref");
627 imemo_type_ids[2] =
rb_intern(
"imemo_svar");
628 imemo_type_ids[3] =
rb_intern(
"imemo_throw_data");
629 imemo_type_ids[4] =
rb_intern(
"imemo_ifunc");
630 imemo_type_ids[5] =
rb_intern(
"imemo_memo");
631 imemo_type_ids[6] =
rb_intern(
"imemo_ment");
632 imemo_type_ids[7] =
rb_intern(
"imemo_iseq");
633 imemo_type_ids[8] =
rb_intern(
"imemo_tmpbuf");
634 imemo_type_ids[9] =
rb_intern(
"imemo_ast");
635 imemo_type_ids[10] =
rb_intern(
"imemo_parser_strterm");
650iow_size(
const void *
ptr)
657 "ObjectSpace::InternalObjectWrapper",
658 {iow_mark, 0, iow_size,},
662static VALUE rb_mInternalObjectWrapper;
680iow_inspect(
VALUE self)
690iow_internal_object_id(
VALUE self)
702reachable_object_from_i(
VALUE obj,
void *data_ptr)
710 val = iow_newobj(
obj);
799reachable_object_from_root_i(
const char *category,
VALUE obj,
void *
ptr)
803 VALUE category_objects;
814 rb_bug(
"reachable_object_from_root_i: category should insert at once");
845reachable_objects_from_root(
VALUE self)
864 return iow_newobj(
klass);
890 return wrap_klass_iow(
klass);
921 return wrap_klass_iow(super);
979 rb_define_method(rb_mInternalObjectWrapper,
"internal_object_id", iow_internal_object_id, 0);
VALUE rb_define_class_under(VALUE, const char *, VALUE)
Defines a class under the namespace of outer.
VALUE rb_define_module(const char *)
VALUE rb_cObject
Object class.
void rb_raise(VALUE exc, const char *fmt,...)
int rb_typeddata_is_kind_of(VALUE obj, const rb_data_type_t *data_type)
void rb_bug(const char *fmt,...)
VALUE rb_obj_is_kind_of(VALUE, VALUE)
Determines if obj is a kind of c.
VALUE type(ANYARGS)
ANYARGS-ed function type.
void Init_object_tracing(VALUE rb_mObjSpace)
void Init_objspace_dump(VALUE rb_mObjSpace)
size_t rb_sym_immortal_count(void)
st_table * st_init_numtable(void)
int st_insert(st_table *tab, st_data_t key, st_data_t value)
int st_foreach(st_table *tab, st_foreach_callback_func *func, st_data_t arg)
const char * last_category
VALUE last_category_objects