diff --git a/src/hotspot/share/gc/z/zRootsIterator.hpp b/src/hotspot/share/gc/z/zRootsIterator.hpp index 9a759a8..8fcd48f 100644 --- a/src/hotspot/share/gc/z/zRootsIterator.hpp +++ b/src/hotspot/share/gc/z/zRootsIterator.hpp @@ -78,16 +78,12 @@ public: class ZRootsIterator { private: - ZOopStorageIterator _jni_handles_iter; - void do_universe(OopClosure* cl); - void do_jni_handles(OopClosure* cl); void do_object_synchronizer(OopClosure* cl); void do_management(OopClosure* cl); void do_jvmti_export(OopClosure* cl); void do_jvmti_weak_export(OopClosure* cl); void do_system_dictionary(OopClosure* cl); - void do_class_loader_data_graph(OopClosure* cl); void do_threads(OopClosure* cl); void do_code_cache(OopClosure* cl); @@ -97,8 +93,6 @@ private: ZSerialOopsDo _jvmti_export; ZSerialOopsDo _jvmti_weak_export; ZSerialOopsDo _system_dictionary; - ZParallelOopsDo _jni_handles; - ZParallelOopsDo _class_loader_data_graph; ZParallelOopsDo _threads; ZParallelOopsDo _code_cache; @@ -109,6 +103,23 @@ public: void oops_do(OopClosure* cl, bool visit_jvmti_weak_export = false); }; +class ZConcurrentRootsIterator { +private: + ZConcurrentOopStorageIterator _jni_handles_iter; + + void do_jni_handles(OopClosure* cl); + void do_class_loader_data_graph(OopClosure* cl); + + ZParallelOopsDo _jni_handles; + ZParallelOopsDo _class_loader_data_graph; + +public: + ZConcurrentRootsIterator(); + ~ZConcurrentRootsIterator(); + + void oops_do(OopClosure* cl); +}; + class ZWeakRootsIterator { private: void do_jvmti_weak_export(BoolObjectClosure* is_alive, OopClosure* cl);