Ruby
2.7.1p83(2020-03-31revisiona0c7c23c9cec0d0ffcba012279cd652d28ad5bf3)
|
Go to the documentation of this file.
51 total_i(
void *vstart,
void *vend,
size_t stride,
void *
ptr)
147 cos_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);
253 cs_i(
void *vstart,
void *vend,
size_t stride,
void *
n)
258 for (;
v != (
VALUE)vend;
v += stride) {
319 cn_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
491 cto_i(
void *vstart,
void *vend,
size_t stride,
void *data)
496 for (;
v != (
VALUE)vend;
v += stride) {
508 if (
NIL_P(counter)) {
565 count_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");
650 iow_size(
const void *
ptr)
657 "ObjectSpace::InternalObjectWrapper",
658 {iow_mark, 0, iow_size,},
662 static VALUE rb_mInternalObjectWrapper;
680 iow_inspect(
VALUE self)
690 iow_internal_object_id(
VALUE self)
702 reachable_object_from_i(
VALUE obj,
void *data_ptr)
710 val = iow_newobj(
obj);
799 reachable_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");
845 reachable_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);
const char * rb_objspace_data_type_name(VALUE obj)
VALUE rb_ident_hash_new(void)
#define OBJ_BUILTIN_TYPE(obj)
VALUE rb_hash_aref(VALUE hash, VALUE key)
st_table * st_init_numtable(void)
#define RB_TYPE_P(obj, type)
VALUE rb_define_module(const char *name)
void rb_define_method(VALUE klass, const char *name, VALUE(*func)(ANYARGS), int argc)
VALUE rb_obj_id(VALUE obj)
void rb_objspace_reachable_objects_from(VALUE obj, void(func)(VALUE, void *), void *data)
const char * last_category
int st_insert(st_table *tab, st_data_t key, st_data_t value)
size_t rb_sym_immortal_count(void)
void rb_raise(VALUE exc, const char *fmt,...)
int rb_objspace_markable_object_p(VALUE obj)
int rb_objspace_internal_object_p(VALUE obj)
void Init_object_tracing(VALUE rb_mObjSpace)
VALUE rb_hash_lookup(VALUE hash, VALUE key)
VALUE rb_ary_push(VALUE ary, VALUE item)
#define TypedData_Wrap_Struct(klass, data_type, sval)
void rb_hash_foreach(VALUE hash, rb_foreach_func *func, VALUE farg)
int rb_typeddata_is_kind_of(VALUE obj, const rb_data_type_t *data_type)
int st_foreach(st_table *tab, st_foreach_callback_func *func, st_data_t arg)
void rb_define_module_function(VALUE module, const char *name, VALUE(*func)(ANYARGS), int argc)
Defines a module function for module.
RUBY_EXTERN VALUE rb_cObject
void rb_objspace_each_objects(each_obj_callback *callback, void *data)
void rb_bug(const char *fmt,...)
void rb_objspace_reachable_objects_from_root(void(func)(const char *category, VALUE, void *), void *passing_data)
VALUE rb_sprintf(const char *format,...)
#define RUBY_TYPED_FREE_IMMEDIATELY
VALUE rb_hash_aset(VALUE hash, VALUE key, VALUE val)
size_t rb_obj_memsize_of(VALUE obj)
void Init_objspace_dump(VALUE rb_mObjSpace)
void rb_gc_mark(VALUE ptr)
VALUE rb_define_class_under(VALUE outer, const char *name, VALUE super)
Defines a class under the namespace of outer.
VALUE last_category_objects
VALUE rb_obj_is_kind_of(VALUE, VALUE)
Determines if obj is a kind of c.
VALUE type(ANYARGS)
ANYARGS-ed function type.
VALUE rb_const_get(VALUE, ID)