35 CodeRoots = 1 << 2,
36 CLDGRoots = 1 << 3,
37 WeakRoots = 1 << 4,
38 StringDedupRoots = 1 << 5,
39 JNIHandleRoots = 1 << 6,
40 AllRoots = (SerialRoots | ThreadRoots | CodeRoots | CLDGRoots | WeakRoots | StringDedupRoots | JNIHandleRoots)
41 };
42
43 private:
44 RootTypes _types;
45
46 public:
47 ShenandoahRootVerifier();
48
49 void excludes(RootTypes types);
50 void oops_do(OopClosure* cl);
51
52 // Used to seed ShenandoahVerifier, do not honor root type filter
53 void roots_do(OopClosure* cl);
54 void strong_roots_do(OopClosure* cl);
55 private:
56 bool verify(RootTypes type) const;
57 };
58
59 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHROOTVERIFIER_HPP
|
35 CodeRoots = 1 << 2,
36 CLDGRoots = 1 << 3,
37 WeakRoots = 1 << 4,
38 StringDedupRoots = 1 << 5,
39 JNIHandleRoots = 1 << 6,
40 AllRoots = (SerialRoots | ThreadRoots | CodeRoots | CLDGRoots | WeakRoots | StringDedupRoots | JNIHandleRoots)
41 };
42
43 private:
44 RootTypes _types;
45
46 public:
47 ShenandoahRootVerifier();
48
49 void excludes(RootTypes types);
50 void oops_do(OopClosure* cl);
51
52 // Used to seed ShenandoahVerifier, do not honor root type filter
53 void roots_do(OopClosure* cl);
54 void strong_roots_do(OopClosure* cl);
55
56 static RootTypes combine(RootTypes t1, RootTypes t2);
57 private:
58 bool verify(RootTypes type) const;
59 };
60
61 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHROOTVERIFIER_HPP
|