src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.hpp
changeset 59296 9186be5c78ba
parent 55476 aee0d296c0ef
equal deleted inserted replaced
59295:8b6cc0bb93d0 59296:9186be5c78ba
    28 #include "memory/iterator.hpp"
    28 #include "memory/iterator.hpp"
    29 
    29 
    30 class ShenandoahRootVerifier : public StackObj {
    30 class ShenandoahRootVerifier : public StackObj {
    31 public:
    31 public:
    32   enum RootTypes {
    32   enum RootTypes {
       
    33     None                = 0,
    33     SerialRoots         = 1 << 0,
    34     SerialRoots         = 1 << 0,
    34     ThreadRoots         = 1 << 1,
    35     ThreadRoots         = 1 << 1,
    35     CodeRoots           = 1 << 2,
    36     CodeRoots           = 1 << 2,
    36     CLDGRoots           = 1 << 3,
    37     CLDGRoots           = 1 << 3,
    37     WeakRoots           = 1 << 4,
    38     WeakRoots           = 1 << 4,
    42 
    43 
    43 private:
    44 private:
    44   RootTypes _types;
    45   RootTypes _types;
    45 
    46 
    46 public:
    47 public:
    47   ShenandoahRootVerifier();
    48   ShenandoahRootVerifier(RootTypes types = AllRoots);
    48 
    49 
    49   void excludes(RootTypes types);
    50   void excludes(RootTypes types);
    50   void oops_do(OopClosure* cl);
    51   void oops_do(OopClosure* cl);
    51 
    52 
    52   // Used to seed ShenandoahVerifier, do not honor root type filter
    53   // Used to seed ShenandoahVerifier, do not honor root type filter