Skip to content

Commit 1da540a

Browse files
committed
Invalidate CC on cme free as well
1 parent 3c251f7 commit 1da540a

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

gc.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1278,7 +1278,9 @@ rb_gc_handle_weak_references(VALUE obj)
12781278
GC_ASSERT(imemo_type(obj) == imemo_callcache);
12791279

12801280
struct rb_callcache *cc = (struct rb_callcache *)obj;
1281-
if (!rb_gc_handle_weak_references_alive_p(cc->klass)) {
1281+
if (cc->klass != Qundef &&
1282+
(!rb_gc_handle_weak_references_alive_p(cc->klass) ||
1283+
!rb_gc_handle_weak_references_alive_p((VALUE)cc->cme_))) {
12821284
vm_cc_invalidate(cc);
12831285
}
12841286

0 commit comments

Comments
 (0)