CollectedHeap has the API to inform the collector about an impending safepoint, safepoint_synchronize_begin/end.
SinceJDK-8320304, this API is used to synchronize without the intent of a safepoint. This has been okay as long collectors did not distinguish between those, apart from the misnaming of the API itself.
With JDK-8342382 G1 needs to distinguish between those.
Since
With JDK-8342382 G1 needs to distinguish between those.