Details
Description
Instead of having all GCs implement CollectedHeap::print_gc_threads_on(), we can just let the single caller (Threads::print_on) provide a closure and use CollectedHeap::gc_threads_do(). That will better match what Threads::print_on_error() is already doing, and remove repetitive code in the GCs.