src/hotspot/share/gc/z/zRootsIterator.hpp
changeset 57851 6728c41f2a08
parent 57659 d349685a98ae
child 58066 8407928b9fe5
--- a/src/hotspot/share/gc/z/zRootsIterator.hpp	Fri Aug 23 08:48:18 2019 +0200
+++ b/src/hotspot/share/gc/z/zRootsIterator.hpp	Fri Aug 23 08:48:23 2019 +0200
@@ -84,6 +84,9 @@
 
 class ZRootsIterator {
 private:
+  bool _visit_invisible;
+  bool _visit_jvmti_weak_export;
+
   void do_universe(ZRootsIteratorClosure* cl);
   void do_object_synchronizer(ZRootsIteratorClosure* cl);
   void do_management(ZRootsIteratorClosure* cl);
@@ -103,10 +106,16 @@
   ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_code_cache>        _code_cache;
 
 public:
-  ZRootsIterator();
+  ZRootsIterator(bool visit_invisible = true, bool visit_jvmti_weak_export = false);
   ~ZRootsIterator();
 
-  void oops_do(ZRootsIteratorClosure* cl, bool visit_jvmti_weak_export = false);
+  void oops_do(ZRootsIteratorClosure* cl);
+};
+
+class ZRootsIteratorNoInvisible : public ZRootsIterator {
+public:
+  ZRootsIteratorNoInvisible() :
+      ZRootsIterator(false /* visit_invisible */, false /* visit_jvmti_weak_export */) {}
 };
 
 class ZConcurrentRootsIterator {