RFR: 8240239: Replace ConcurrentGCPhaseManager
Per Liden
per.liden at oracle.com
Tue Mar 3 13:21:08 UTC 2020
Hi Kim,
On 2/28/20 10:48 PM, Kim Barrett wrote:
> Please review this change which removes the ConcurrentGCPhaseManager
> class and replaces it with ConcurrentGCBreakpoints.
>
> This is joint work with Per Liden.
>
> This change provides a client API, used by WhiteBox. The usage model
> for a client is
>
> (1) Acquire control of concurrent collection cycles.
>
> (2) Do work that must be performed while the collection cycle is in a
> known state.
>
> (3) Request the concurrent collector run to a named "breakpoint", or
> run to completion, and then hold there, waiting for further commands.
>
> (4) Optionally goto (2).
>
> (5) Release control of concurrent collection cycles.
>
> Tests have been updated to use the new WhiteBox API.
>
> This change provides implementations of the new mechanism for G1 and
> ZGC. A Shenandoah implementation is being left to others, but we
> don't see any obvious reason for it to be difficult.
>
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8240239
>
> Webrev:
> https://cr.openjdk.java.net/~kbarrett/8240239/open.03/
This looks good to me. However, it would be good if someone else had a
closer look at the G1 changes, as I'm feeling less confident reviewing
that part.
cheers,
Per
>
> To possibly simplify the review, the open patch is also provided as a
> pair of patches, one for removing the old mechanism and a second to
> add the new mechanism.
>
> https://cr.openjdk.java.net/~kbarrett/8240239/remove_phase_control.03/
> Removes ConcurrentGCPhaseManager and its G1 implementation, except
> that tests are not modifed.
>
> https://cr.openjdk.java.net/~kbarrett/8240239/control.03/
> Adds ConcurrenGCBreakpoints, with G1 and ZGC implementations, and
> updates tests to use it.
>
> Testing:
> mach5 tier1-5, which includes all the updated and new tests.
>
More information about the hotspot-gc-dev
mailing list