RFR: Refactor heap verification

Aleksey Shipilev shade at redhat.com
Thu Jun 1 19:37:30 UTC 2017


Hi,

This is the massive refactor of our heap verification:
  http://cr.openjdk.java.net/~shade/shenandoah/verifier/webrev.01/

Sample hs_err (artificially induced):
  http://cr.openjdk.java.net/~shade/shenandoah/verifier/hs_err_pid959.log

Brief tour of changes:

 *) Took our "verify reachable at safepoint" implementation, and put there all
the other assorted verifications we are doing around ShenandoahHeap and friends.
Purged all other verification methods and their associated closures.

 *) Moved verification to ShenandoahVerifier class in separate files

 *) Verification has several flags which define what it actually verifies.

 *) For each point where verification fires, added a named method. This allows
to see all the invariants over the entire GC cycle in one file. Please check
that invariants are indeed sane!

Testing: hotspot_gc_shenandoah, SPECjbb with +ShVerify

-Aleksey




More information about the shenandoah-dev mailing list