< prev index next >

src/share/vm/gc_implementation/shenandoah/shenandoahVerifier.hpp

Print this page
rev 10549 : [backport] Verify global and local gc-state status
rev 10551 : [backport] Remove safe_equals()
rev 10637 : [backport] Purge partial heuristics and connection matrix infrastructure

@@ -62,25 +62,10 @@
 private:
   ShenandoahHeap* _heap;
   MarkBitMap* _verification_bit_map;
 public:
   typedef enum {
-    // Disable matrix verification completely
-    _verify_matrix_disable,
-
-    // Conservative matrix verification: all connected objects should have matrix
-    // connections. The verification is conservative, because it allows matrix
-    // connection that do not have actual heap connections.
-    _verify_matrix_conservative,
-
-    // Precise matrix verification: all connected objects should have matrix connections,
-    // *and* every matrix connection should have at least a pair a connected objects.
-    // TODO: implement this, if needed
-    _verify_matrix_precise,
-  } VerifyMatrix;
-
-  typedef enum {
     // Disable marked objects verification.
     _verify_marked_disable,
 
     // Objects should be marked in "next" bitmap.
     _verify_marked_next,

@@ -137,37 +122,49 @@
 
     // No trash and no cset regions allowed
     _verify_regions_notrash_nocset,
   } VerifyRegions;
 
+  typedef enum {
+    // Disable gc-state verification
+    _verify_gcstate_disable,
+
+    // Nothing is in progress, no forwarded objects
+    _verify_gcstate_stable,
+
+    // Nothing is in progress, some objects are forwarded
+    _verify_gcstate_forwarded,
+  } VerifyGCState;
+
   struct VerifyOptions {
     VerifyForwarded     _verify_forwarded;
     VerifyMarked        _verify_marked;
-    VerifyMatrix        _verify_matrix;
     VerifyCollectionSet _verify_cset;
     VerifyLiveness      _verify_liveness;
     VerifyRegions       _verify_regions;
+    VerifyGCState       _verify_gcstate;
 
     VerifyOptions(VerifyForwarded verify_forwarded,
                   VerifyMarked verify_marked,
-                  VerifyMatrix verify_matrix,
                   VerifyCollectionSet verify_collection_set,
                   VerifyLiveness verify_liveness,
-                  VerifyRegions verify_regions) :
+                  VerifyRegions verify_regions,
+                  VerifyGCState verify_gcstate) :
             _verify_forwarded(verify_forwarded), _verify_marked(verify_marked),
-            _verify_matrix(verify_matrix), _verify_cset(verify_collection_set),
-            _verify_liveness(verify_liveness), _verify_regions(verify_regions) {}
+            _verify_cset(verify_collection_set),
+            _verify_liveness(verify_liveness), _verify_regions(verify_regions),
+            _verify_gcstate(verify_gcstate) {}
   };
 
 private:
   void verify_at_safepoint(const char *label,
                            VerifyForwarded forwarded,
                            VerifyMarked marked,
-                           VerifyMatrix matrix,
                            VerifyCollectionSet cset,
                            VerifyLiveness liveness,
-                           VerifyRegions regions);
+                           VerifyRegions regions,
+                           VerifyGCState gcstate);
 
 public:
   ShenandoahVerifier(ShenandoahHeap* heap, MarkBitMap* verification_bitmap) :
           _heap(heap), _verification_bit_map(verification_bitmap) {};
 

@@ -177,12 +174,10 @@
   void verify_after_evacuation();
   void verify_before_updaterefs();
   void verify_after_updaterefs();
   void verify_before_fullgc();
   void verify_after_fullgc();
-  void verify_before_partial();
-  void verify_after_partial();
   void verify_after_degenerated();
   void verify_generic(VerifyOption option);
 };
 
 #endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHVERIFIER_HPP
< prev index next >