< prev index next >

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

Print this page

        

*** 29,42 **** #include "memory/allocation.hpp" #include "memory/iterator.hpp" #include "runtime/thread.hpp" #include "utilities/globalDefinitions.hpp" ! class ZRootsIteratorClosure : public OopClosure { ! public: ! virtual void do_thread(Thread* thread) {} ! }; typedef OopStorage::ParState<true /* concurrent */, false /* is_const */> ZOopStorageIterator; template <typename T, void (T::*F)(ZRootsIteratorClosure*)> class ZSerialOopsDo { --- 29,39 ---- #include "memory/allocation.hpp" #include "memory/iterator.hpp" #include "runtime/thread.hpp" #include "utilities/globalDefinitions.hpp" ! class ZRootsIteratorClosure; typedef OopStorage::ParState<true /* concurrent */, false /* is_const */> ZOopStorageIterator; template <typename T, void (T::*F)(ZRootsIteratorClosure*)> class ZSerialOopsDo {
*** 80,93 **** public: ZParallelWeakOopsDo(T* iter); void weak_oops_do(BoolObjectClosure* is_alive, ZRootsIteratorClosure* cl); }; class ZRootsIterator { private: const bool _visit_jvmti_weak_export; - const bool _disarm_nmethods; void do_universe(ZRootsIteratorClosure* cl); void do_object_synchronizer(ZRootsIteratorClosure* cl); void do_management(ZRootsIteratorClosure* cl); void do_jvmti_export(ZRootsIteratorClosure* cl); --- 77,98 ---- public: ZParallelWeakOopsDo(T* iter); void weak_oops_do(BoolObjectClosure* is_alive, ZRootsIteratorClosure* cl); }; + class ZRootsIteratorClosure : public OopClosure { + public: + virtual void do_thread(Thread* thread) {} + + virtual bool should_disarm_nmethods() const { + return false; + } + }; + class ZRootsIterator { private: const bool _visit_jvmti_weak_export; void do_universe(ZRootsIteratorClosure* cl); void do_object_synchronizer(ZRootsIteratorClosure* cl); void do_management(ZRootsIteratorClosure* cl); void do_jvmti_export(ZRootsIteratorClosure* cl);
*** 104,114 **** ZSerialOopsDo<ZRootsIterator, &ZRootsIterator::do_system_dictionary> _system_dictionary; ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_threads> _threads; ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_code_cache> _code_cache; public: ! ZRootsIterator(bool visit_jvmti_weak_export = false, bool disarm_nmethod = false); ~ZRootsIterator(); void oops_do(ZRootsIteratorClosure* cl); }; --- 109,119 ---- ZSerialOopsDo<ZRootsIterator, &ZRootsIterator::do_system_dictionary> _system_dictionary; ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_threads> _threads; ZParallelOopsDo<ZRootsIterator, &ZRootsIterator::do_code_cache> _code_cache; public: ! ZRootsIterator(bool visit_jvmti_weak_export = false); ~ZRootsIterator(); void oops_do(ZRootsIteratorClosure* cl); };
< prev index next >