diff --git a/gc.c b/gc.c index 6353a7b50a..b0fa670e9e 100644 --- a/gc.c +++ b/gc.c @@ -7599,7 +7599,7 @@ gc_is_moveable_obj(rb_objspace_t *objspace, VALUE obj) return FALSE; } } - return !RVALUE_PINNED(obj); + return RVALUE_MARKED(obj) && !RVALUE_PINNED(obj); default: rb_bug("gc_is_moveable_obj: unreachable (%d)", (int)BUILTIN_TYPE(obj));