845 _verify_marked_complete, // bitmaps might be stale, but alloc-after-mark should be well
846 _verify_cset_forwarded, // all cset refs are fully forwarded
847 _verify_liveness_disable, // no reliable liveness data anymore
848 _verify_regions_notrash, // trash regions have been recycled already
849 _verify_gcstate_forwarded // evacuation should have produced some forwarded objects
850 );
851 }
852
853 void ShenandoahVerifier::verify_after_updaterefs() {
854 verify_at_safepoint(
855 "After Updating References",
856 _verify_forwarded_none, // no forwarded references
857 _verify_marked_complete, // bitmaps might be stale, but alloc-after-mark should be well
858 _verify_cset_none, // no cset references, all updated
859 _verify_liveness_disable, // no reliable liveness data anymore
860 _verify_regions_nocset, // no cset regions, trash regions have appeared
861 _verify_gcstate_stable // update refs had cleaned up forwarded objects
862 );
863 }
864
865 void ShenandoahVerifier::verify_before_fullgc() {
866 verify_at_safepoint(
867 "Before Full GC",
868 _verify_forwarded_allow, // can have forwarded objects
869 _verify_marked_disable, // do not verify marked: lots ot time wasted checking dead allocations
870 _verify_cset_disable, // cset might be foobared
871 _verify_liveness_disable, // no reliable liveness data anymore
872 _verify_regions_disable, // no reliable region data here
873 _verify_gcstate_disable // no reliable gcstate data
874 );
875 }
876
877 void ShenandoahVerifier::verify_after_fullgc() {
878 verify_at_safepoint(
879 "After Full GC",
880 _verify_forwarded_none, // all objects are non-forwarded
881 _verify_marked_complete, // all objects are marked in complete bitmap
882 _verify_cset_none, // no cset references
883 _verify_liveness_disable, // no reliable liveness data anymore
884 _verify_regions_notrash_nocset, // no trash, no cset
|
845 _verify_marked_complete, // bitmaps might be stale, but alloc-after-mark should be well
846 _verify_cset_forwarded, // all cset refs are fully forwarded
847 _verify_liveness_disable, // no reliable liveness data anymore
848 _verify_regions_notrash, // trash regions have been recycled already
849 _verify_gcstate_forwarded // evacuation should have produced some forwarded objects
850 );
851 }
852
853 void ShenandoahVerifier::verify_after_updaterefs() {
854 verify_at_safepoint(
855 "After Updating References",
856 _verify_forwarded_none, // no forwarded references
857 _verify_marked_complete, // bitmaps might be stale, but alloc-after-mark should be well
858 _verify_cset_none, // no cset references, all updated
859 _verify_liveness_disable, // no reliable liveness data anymore
860 _verify_regions_nocset, // no cset regions, trash regions have appeared
861 _verify_gcstate_stable // update refs had cleaned up forwarded objects
862 );
863 }
864
865 void ShenandoahVerifier::verify_before_traversal() {
866 verify_at_safepoint(
867 "Before Traversal",
868 _verify_forwarded_none, // cannot have forwarded objects
869 _verify_marked_disable, // bitmaps are not relevant before traversal
870 _verify_cset_none, // no cset references before traversal
871 _verify_liveness_disable, // no reliable liveness data anymore
872 _verify_regions_notrash_nocset, // no trash and no cset regions
873 _verify_gcstate_stable // nothing forwarded before traversal
874 );
875 }
876
877 void ShenandoahVerifier::verify_after_traversal() {
878 verify_at_safepoint(
879 "After Traversal",
880 _verify_forwarded_none, // cannot have forwarded objects
881 _verify_marked_complete, // should have complete marking after traversal
882 _verify_cset_none, // no cset references left after traversal
883 _verify_liveness_disable, // liveness data is not collected for new allocations
884 _verify_regions_nocset, // no cset regions, trash regions allowed
885 _verify_gcstate_stable // nothing forwarded after traversal
886 );
887 }
888
889 void ShenandoahVerifier::verify_before_fullgc() {
890 verify_at_safepoint(
891 "Before Full GC",
892 _verify_forwarded_allow, // can have forwarded objects
893 _verify_marked_disable, // do not verify marked: lots ot time wasted checking dead allocations
894 _verify_cset_disable, // cset might be foobared
895 _verify_liveness_disable, // no reliable liveness data anymore
896 _verify_regions_disable, // no reliable region data here
897 _verify_gcstate_disable // no reliable gcstate data
898 );
899 }
900
901 void ShenandoahVerifier::verify_after_fullgc() {
902 verify_at_safepoint(
903 "After Full GC",
904 _verify_forwarded_none, // all objects are non-forwarded
905 _verify_marked_complete, // all objects are marked in complete bitmap
906 _verify_cset_none, // no cset references
907 _verify_liveness_disable, // no reliable liveness data anymore
908 _verify_regions_notrash_nocset, // no trash, no cset
|