10 RFR: 8169517: WhiteBox should provide concurrent GC phase control
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:
>> The tests you provided will work, but they are really hard to understand.
>> To demonstrate what I meant suggesting improvement I converted them:
> 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