I propose that we remove CollectedHeap::is_in_closed_subset() and its unused sibling CollectedHeap::is_in_closed_subset_or_null(). We can replace all calls to is_in_closed_subset(), most of which is in verification code, with calls to is_in(). For Serial and ZGC, is_in_closed_subset() is already equivalent to is_in(). For G1, is_in_closed_subset() is very close to equivalent to is_in(). For CMS, Parallel, Epsilon, Shenandoah, is_in_closed_subset() is equivalent to is_in_reserved(). However, their is_in() is arguably not a lot more expensive, at least not to the degree that is motivates keeping the is_in_closed_subset() API around. G1 is the only GC that calls is_in_closed_subset() outside of verification code (in RegisterHumongousWithInCSetFastTestClosure).