diff options
| -rw-r--r-- | imemo.c | 41 | ||||
| -rw-r--r-- | internal/imemo.h | 1 |
2 files changed, 0 insertions, 42 deletions
@@ -278,47 +278,6 @@ rb_imemo_memsize(VALUE obj) * mark * ========================================================================= */ -static enum rb_id_table_iterator_result -cc_table_mark_i(VALUE ccs_ptr, void *data) -{ - // looks duplicate to mark_cc_entry_i (gc.c) - struct rb_class_cc_entries *ccs = (struct rb_class_cc_entries *)ccs_ptr; - VM_ASSERT(vm_ccs_p(ccs)); -#if VM_CHECK_MODE > 0 - VALUE klass = (VALUE)data; - - VALUE lookup_val; - VM_ASSERT(rb_id_table_lookup(RCLASS_WRITABLE_CC_TBL(klass), ccs->cme->called_id, &lookup_val)); - VM_ASSERT(lookup_val == ccs_ptr); -#endif - - if (METHOD_ENTRY_INVALIDATED(ccs->cme)) { - rb_vm_ccs_free(ccs); - return ID_TABLE_DELETE; - } - else { - rb_gc_mark_movable((VALUE)ccs->cme); - - for (int i=0; i<ccs->len; i++) { - VM_ASSERT(klass == ccs->entries[i].cc->klass); - VM_ASSERT(vm_cc_check_cme(ccs->entries[i].cc, ccs->cme)); - - rb_gc_mark_movable((VALUE)ccs->entries[i].cc); - } - return ID_TABLE_CONTINUE; - } -} - -void -rb_cc_table_mark(VALUE klass) -{ - // TODO: delete this (and cc_table_mark_i) if it's ok - struct rb_id_table *cc_tbl = RCLASS_WRITABLE_CC_TBL(klass); - if (cc_tbl) { - rb_id_table_foreach_values(cc_tbl, cc_table_mark_i, (void *)klass); - } -} - static bool moved_or_living_object_strictly_p(VALUE obj) { diff --git a/internal/imemo.h b/internal/imemo.h index 44b41d1b1c..a1be53aec2 100644 --- a/internal/imemo.h +++ b/internal/imemo.h @@ -149,7 +149,6 @@ static inline void MEMO_V1_SET(struct MEMO *m, VALUE v); static inline void MEMO_V2_SET(struct MEMO *m, VALUE v); size_t rb_imemo_memsize(VALUE obj); -void rb_cc_table_mark(VALUE klass); void rb_imemo_mark_and_move(VALUE obj, bool reference_updating); void rb_cc_table_free(VALUE klass); void rb_cc_tbl_free(struct rb_id_table *cc_tbl, VALUE klass); |
