< prev index next >
src/share/vm/gc_implementation/shenandoah/shenandoahVerifier.cpp
Print this page
rev 11462 : Backport per-region seqnum tracking
rev 11463 : Backport Traversal GC
@@ -860,10 +860,34 @@
_verify_regions_nocset, // no cset regions, trash regions have appeared
_verify_gcstate_stable // update refs had cleaned up forwarded objects
);
}
+void ShenandoahVerifier::verify_before_traversal() {
+ verify_at_safepoint(
+ "Before Traversal",
+ _verify_forwarded_none, // cannot have forwarded objects
+ _verify_marked_disable, // bitmaps are not relevant before traversal
+ _verify_cset_none, // no cset references before traversal
+ _verify_liveness_disable, // no reliable liveness data anymore
+ _verify_regions_notrash_nocset, // no trash and no cset regions
+ _verify_gcstate_stable // nothing forwarded before traversal
+ );
+}
+
+void ShenandoahVerifier::verify_after_traversal() {
+ verify_at_safepoint(
+ "After Traversal",
+ _verify_forwarded_none, // cannot have forwarded objects
+ _verify_marked_complete, // should have complete marking after traversal
+ _verify_cset_none, // no cset references left after traversal
+ _verify_liveness_disable, // liveness data is not collected for new allocations
+ _verify_regions_nocset, // no cset regions, trash regions allowed
+ _verify_gcstate_stable // nothing forwarded after traversal
+ );
+}
+
void ShenandoahVerifier::verify_before_fullgc() {
verify_at_safepoint(
"Before Full GC",
_verify_forwarded_allow, // can have forwarded objects
_verify_marked_disable, // do not verify marked: lots ot time wasted checking dead allocations
< prev index next >