summaryrefslogtreecommitdiff
path: root/imemo.c
diff options
context:
space:
mode:
Diffstat (limited to 'imemo.c')
-rw-r--r--imemo.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/imemo.c b/imemo.c
index 8403859146..23a9a7531f 100644
--- a/imemo.c
+++ b/imemo.c
@@ -130,7 +130,7 @@ rb_imemo_memsize(VALUE obj)
size_t size = 0;
switch (imemo_type(obj)) {
case imemo_ast:
- size += rb_ast_memsize((rb_ast_t *)obj);
+ rb_bug("imemo_ast is obsolete");
break;
case imemo_callcache:
@@ -196,7 +196,6 @@ cc_table_mark_i(ID id, VALUE ccs_ptr, void *data)
VM_ASSERT((VALUE)data == 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].ci);
rb_gc_mark_movable((VALUE)ccs->entries[i].cc);
}
return ID_TABLE_CONTINUE;
@@ -274,7 +273,7 @@ rb_imemo_mark_and_move(VALUE obj, bool reference_updating)
{
switch (imemo_type(obj)) {
case imemo_ast:
- // TODO: Make AST decoupled from IMEMO
+ rb_bug("imemo_ast is obsolete");
break;
case imemo_callcache: {
@@ -358,7 +357,9 @@ rb_imemo_mark_and_move(VALUE obj, bool reference_updating)
((VALUE *)env->ep)[VM_ENV_DATA_INDEX_ENV] = rb_gc_location(env->ep[VM_ENV_DATA_INDEX_ENV]);
}
else {
- VM_ENV_FLAGS_SET(env->ep, VM_ENV_FLAG_WB_REQUIRED);
+ if (!VM_ENV_FLAGS(env->ep, VM_ENV_FLAG_WB_REQUIRED)) {
+ VM_ENV_FLAGS_SET(env->ep, VM_ENV_FLAG_WB_REQUIRED);
+ }
rb_gc_mark_movable( (VALUE)rb_vm_env_prev_env(env));
}
}
@@ -514,8 +515,7 @@ rb_imemo_free(VALUE obj)
{
switch (imemo_type(obj)) {
case imemo_ast:
- rb_ast_free((rb_ast_t *)obj);
- RB_DEBUG_COUNTER_INC(obj_imemo_ast);
+ rb_bug("imemo_ast is obsolete");
break;
case imemo_callcache: