--- old/src/hotspot/share/gc/z/zRootsIterator.hpp 2019-12-09 22:12:12.906581453 +0100 +++ new/src/hotspot/share/gc/z/zRootsIterator.hpp 2019-12-09 22:12:12.702578232 +0100 @@ -31,10 +31,7 @@ #include "runtime/thread.hpp" #include "utilities/globalDefinitions.hpp" -class ZRootsIteratorClosure : public OopClosure { -public: - virtual void do_thread(Thread* thread) {} -}; +class ZRootsIteratorClosure; typedef OopStorage::ParState ZOopStorageIterator; @@ -82,10 +79,18 @@ 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; - const bool _disarm_nmethods; void do_universe(ZRootsIteratorClosure* cl); void do_object_synchronizer(ZRootsIteratorClosure* cl); @@ -106,7 +111,7 @@ ZParallelOopsDo _code_cache; public: - ZRootsIterator(bool visit_jvmti_weak_export = false, bool disarm_nmethod = false); + ZRootsIterator(bool visit_jvmti_weak_export = false); ~ZRootsIterator(); void oops_do(ZRootsIteratorClosure* cl);