Relates :
|
When a safepoint is synchronized, GC threads might need to be suspended, and similarly when the safepoint is unsynchronized, GC might need to resume those threads. This is currently done in an ugly way where we check if we are using CMS or G1 and then go on to use their specific mechanisms. I propose there should be an interface between the safepoint synchronizer and the GC to generalize this behaviour.