10 RFR: 8169517: WhiteBox should provide concurrent GC phase control

Kim Barrett kim.barrett at oracle.com
Wed Apr 12 21:27:48 UTC 2017

> On Apr 11, 2017, at 8:00 PM, Kim Barrett <kim.barrett at oracle.com> wrote:
>> On Apr 11, 2017, at 12:20 PM, Dmitry Fazunenko <dmitry.fazunenko at oracle.com> wrote:
>> Kim,
>> The tests you provided will work, but they are really hard to understand.
>> To demonstrate what I meant suggesting improvement I converted them:
>>  http://cr.openjdk.java.net/~dfazunen/8169517/webrev.00/
> This is pretty much what I was trying to avoid doing.
> While I still (mildly) prefer the approach I'd taken, I do see good
> points to this.
> Since you seem to feel strongly enough about it to actually implement
> the changes, I'm willing to go along.
> I should have a new webrev tonight or tomorrow.

New webrev with refactored tests:

Only the tests have changed since the previous webrev.  I didn’t provide
an incremental webrev, since it didn’t seem like it would be all that useful.

I didn't use Dmitry's exact changes, but took inspiration from there.

There are now 3 utility classes in test/gc/concurrent_phase_control:
- CheckSupported.java - basic tests for GC that supports phase control
- CheckUnsupported.java - tests for a GC that doesn't support phase control
- CheckControl.java - based on the old ConcurrentPhaseControlUtils.java
  walks the GC through a sequence of phases and verifies that worked.
Each has a static "check" function (with appropriate arguments).

Each actual test uses one of those utility classes, 

More information about the hotspot-gc-dev mailing list