RFR: 8079082: VerifyNoCSetOopsClosure is derived twice from Closure

Kim Barrett kim.barrett at oracle.com
Fri Jul 24 20:41:28 UTC 2015


Please review this cleanup to eliminate improper and unnecessary
multiple inheritance by a verification closure.

- Changed the closure to an ordinary function object, with some
simplifications, elimination of virtual functions, and renaming as a
result.

- Eliminated VerifyNoCSetOopsPhase enum, instead just making the calls
to setup the checking function pass in the appropriate string.  The
only thing the enum values were used for was to determine the desired
string.

- Replaced CMMarkStack::oops_do with iterate function template.

- Replaced GenericTaskQueue::oops_do with iterate function template.
This class really has no business having a hard-wired iterator over
oop elements.

- While I was in the neighborhood, eliminated an unnecessary nearby
cast.

CR:
https://bugs.openjdk.java.net/browse/JDK-8079082

Webrev:
http://cr.openjdk.java.net/~kbarrett/8079082/webrev.00/

Testing:
jprt, local jtreg



More information about the hotspot-gc-dev mailing list