aboutsummaryrefslogtreecommitdiffstats
path: root/vm.c
diff options
context:
space:
mode:
Diffstat (limited to 'vm.c')
-rw-r--r--vm.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/vm.c b/vm.c
index 80e13de1bd..af2966589d 100644
--- a/vm.c
+++ b/vm.c
@@ -71,7 +71,8 @@ static VALUE
vm_invoke_proc(rb_thread_t *th, rb_proc_t *proc, VALUE self, VALUE defined_class,
int argc, const VALUE *argv, const rb_block_t *blockptr);
-static vm_state_version_t ruby_vm_global_state_version = 1;
+static vm_state_version_t ruby_vm_method_state_version = 1;
+static vm_state_version_t ruby_vm_constant_state_version = 1;
static vm_state_version_t ruby_vm_sequence = 1;
#include "vm_insnhelper.h"
@@ -2075,12 +2076,12 @@ vm_define_method(rb_thread_t *th, VALUE obj, ID id, VALUE iseqval,
OBJ_WRITE(miseq->self, &miseq->klass, klass);
miseq->defined_method_id = id;
rb_add_method(klass, id, VM_METHOD_TYPE_ISEQ, miseq, noex);
- rb_clear_cache_by_class(klass);
+ rb_clear_method_cache_by_class(klass);
if (!is_singleton && noex == NOEX_MODFUNC) {
klass = rb_singleton_class(klass);
rb_add_method(klass, id, VM_METHOD_TYPE_ISEQ, miseq, NOEX_PUBLIC);
- rb_clear_cache_by_class(klass);
+ rb_clear_method_cache_by_class(klass);
}
}
@@ -2130,8 +2131,8 @@ m_core_undef_method(VALUE self, VALUE cbase, VALUE sym)
{
REWIND_CFP({
rb_undef(cbase, SYM2ID(sym));
- rb_clear_cache_by_class(cbase);
- rb_clear_cache_by_class(self);
+ rb_clear_method_cache_by_class(cbase);
+ rb_clear_method_cache_by_class(self);
});
return Qnil;
}