< prev index next >

src/hotspot/share/gc/z/zRootsIterator.hpp

Concurrent class unloading

*** 76,85 **** --- 76,86 ---- void weak_oops_do(BoolObjectClosure* is_alive, OopClosure* cl); }; class ZRootsIterator { private: + bool _strong_only; ZOopStorageIterator _vm_weak_handles_iter; ZOopStorageIterator _jni_handles_iter; ZOopStorageIterator _jni_weak_handles_iter; ZOopStorageIterator _string_table_iter; ***************
*** 92,101 **** --- 93,103 ---- void do_jvmti_export(OopClosure* cl); void do_jvmti_weak_export(OopClosure* cl); void do_jfr_weak(OopClosure* cl); void do_system_dictionary(OopClosure* cl); void do_class_loader_data_graph(OopClosure* cl); + void do_class_loader_data_graph_strong_only(OopClosure* cl); void do_threads(OopClosure* cl); void do_code_cache(OopClosure* cl); void do_string_table(OopClosure* cl); ZSerialOopsDo<ZRootsIterator, &ZRootsIterator::do_universe> _universe; ***************
*** 107,122 **** ZSerialOopsDo<ZRootsIterator, &ZRootsIterator::do_system_dictionary> _system_dictionary; ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_vm_weak_handles> _vm_weak_handles; ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_jni_handles> _jni_handles; ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_jni_weak_handles> _jni_weak_handles; ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_class_loader_data_graph> _class_loader_data_graph; ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_threads> _threads; ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_code_cache> _code_cache; ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_string_table> _string_table; public: ! ZRootsIterator(); ~ZRootsIterator(); void oops_do(OopClosure* cl, bool visit_jvmti_weak_export = false); }; --- 109,125 ---- ZSerialOopsDo<ZRootsIterator, &ZRootsIterator::do_system_dictionary> _system_dictionary; ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_vm_weak_handles> _vm_weak_handles; ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_jni_handles> _jni_handles; ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_jni_weak_handles> _jni_weak_handles; ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_class_loader_data_graph> _class_loader_data_graph; + ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_class_loader_data_graph_strong_only> _class_loader_data_graph_strong_only; ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_threads> _threads; ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_code_cache> _code_cache; ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_string_table> _string_table; public: ! ZRootsIterator(bool strong_only); ~ZRootsIterator(); void oops_do(OopClosure* cl, bool visit_jvmti_weak_export = false); };
< prev index next >