Unpoision the object in rb_gc_impl_garbage_object_p

This commit is contained in:
Peter Zhu 2024-09-03 13:43:33 -04:00
Родитель 675529b9c6
Коммит 53eaa67305
1 изменённых файлов: 9 добавлений и 7 удалений

Просмотреть файл

@ -1653,13 +1653,15 @@ rb_gc_impl_garbage_object_p(void *objspace_ptr, VALUE ptr)
{
rb_objspace_t *objspace = objspace_ptr;
switch (BUILTIN_TYPE(ptr)) {
case T_NONE:
case T_MOVED:
case T_ZOMBIE:
return true;
default:
break;
asan_unpoisoning_object(ptr) {
switch (BUILTIN_TYPE(ptr)) {
case T_NONE:
case T_MOVED:
case T_ZOMBIE:
return true;
default:
break;
}
}
return is_lazy_sweeping(objspace) && GET_HEAP_PAGE(ptr)->flags.before_sweep &&