From 162e13c884a1764e6cf6e62407e607d18f29eecc Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Tue, 27 Feb 2024 14:50:40 -0500 Subject: [PATCH] Remove pointer check in vm_ccs_free We don't need to check that the object is pointer to the GC heap in vm_ccs_free because it is called during sweeping, which does not free pages so it can never point to an object that is not on the GC heap. --- imemo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/imemo.c b/imemo.c index 66428f39b4..0031b3322c 100644 --- a/imemo.c +++ b/imemo.c @@ -455,7 +455,7 @@ vm_ccs_free(struct rb_class_cc_entries *ccs, int alive, VALUE klass) if (!alive) { void *ptr = asan_unpoison_object_temporary((VALUE)cc); // ccs can be free'ed. - if (rb_gc_is_ptr_to_obj(cc) && + if (rb_objspace_markable_object_p((VALUE)cc) && IMEMO_TYPE_P(cc, imemo_callcache) && cc->klass == klass) { // OK. maybe target cc.