From ec1cbbb07d00828e6265074ca4977a8dae6b8b29 Mon Sep 17 00:00:00 2001 From: Alan Wu Date: Wed, 17 Mar 2021 19:07:20 -0400 Subject: Get rid of dependency on rb_call_cache --- vm_method.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'vm_method.c') diff --git a/vm_method.c b/vm_method.c index 5fd8f6a8bc..5260f2d05c 100644 --- a/vm_method.c +++ b/vm_method.c @@ -123,7 +123,6 @@ rb_vm_cc_invalidate(const struct rb_callcache *cc) VM_ASSERT(cc->klass != 0); // should be enable *(VALUE *)&cc->klass = 0; - rb_yjit_method_lookup_change((VALUE)cc); RB_DEBUG_COUNTER_INC(cc_ent_invalidate); } @@ -135,7 +134,8 @@ vm_cme_invalidate(rb_callable_method_entry_t *cme) VM_ASSERT(callable_method_entry_p(cme)); METHOD_ENTRY_INVALIDATED_SET(cme); RB_DEBUG_COUNTER_INC(cc_cme_invalidate); - rb_yjit_method_lookup_change((VALUE)cme); + + rb_yjit_cme_invalidate((VALUE)cme); } void @@ -238,6 +238,8 @@ clear_method_cache_by_id_in_class(VALUE klass, ID mid) invalidate_negative_cache(mid); } } + + rb_yjit_method_lookup_change(klass, mid); } static void @@ -305,6 +307,8 @@ void rb_clear_method_cache_all(void) { rb_objspace_each_objects(invalidate_all_cc, NULL); + + rb_yjit_invalidate_all_method_lookup_assumptions(); } void -- cgit v1.2.1