diff options
author | Koichi Sasada <[email protected]> | 2019-07-19 13:02:38 +0900 |
---|---|---|
committer | Koichi Sasada <[email protected]> | 2019-07-19 13:07:59 +0900 |
commit | 182ae1407b3f6597cdbf6872f788c1ed3aa22a35 (patch) | |
tree | 043184ff9daa64e4e3cea797226b84eed92b75b0 /gc.c | |
parent | 547f574b639cd8586568ebb8570c51faf102c313 (diff) |
fix shared array terminology.
Shared arrays created by Array#dup and so on points
a shared_root object to manage lifetime of Array buffer.
However, sometimes shared_root is called only shared so
it is confusing. So I fixed these wording "shared" to "shared_root".
* RArray::heap::aux::shared -> RArray::heap::aux::shared_root
* ARY_SHARED() -> ARY_SHARED_ROOT()
* ARY_SHARED_NUM() -> ARY_SHARED_ROOT_REFCNT()
Also, add some debug_counters to count shared array objects.
* ary_shared_create: shared ary by Array#dup and so on.
* ary_shared: finished in shard.
* ary_shared_root_occupied: shared_root but has only 1 refcnt.
The number (ary_shared - ary_shared_root_occupied) is meaningful.
Diffstat (limited to 'gc.c')
-rw-r--r-- | gc.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -5083,7 +5083,7 @@ gc_mark_children(rb_objspace_t *objspace, VALUE obj) case T_ARRAY: if (FL_TEST(obj, ELTS_SHARED)) { - VALUE root = any->as.array.as.heap.aux.shared; + VALUE root = any->as.array.as.heap.aux.shared_root; gc_mark(objspace, root); } else { @@ -8007,7 +8007,7 @@ gc_update_object_references(rb_objspace_t *objspace, VALUE obj) case T_ARRAY: if (FL_TEST(obj, ELTS_SHARED)) { - UPDATE_IF_MOVED(objspace, any->as.array.as.heap.aux.shared); + UPDATE_IF_MOVED(objspace, any->as.array.as.heap.aux.shared_root); } else { gc_ref_update_array(objspace, obj); @@ -11219,7 +11219,7 @@ rb_raw_obj_info(char *buff, const int buff_size, VALUE obj) case T_ARRAY: if (FL_TEST(obj, ELTS_SHARED)) { APPENDF((BUFF_ARGS, "shared -> %s", - rb_obj_info(RARRAY(obj)->as.heap.aux.shared))); + rb_obj_info(RARRAY(obj)->as.heap.aux.shared_root))); } else if (FL_TEST(obj, RARRAY_EMBED_FLAG)) { APPENDF((BUFF_ARGS, "[%s%s] len: %d (embed)", |