< prev index next >

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

Print this page

        

*** 26,74 **** #include "memory/allocation.hpp" class ZVerify : public AllStatic { private: ! template <typename RootsIterator> ! static void roots_impl(); ! static void roots(bool verify_weaks); static void roots_weak(); ! static void roots_concurrent(); static void roots_concurrent_weak(); static void objects(bool verify_weaks); ! ! static void roots_and_objects(bool visit_weaks); public: ! // Verify strong (non-concurrent) roots. Should always be good. ! static void roots_strong(); ! ! // Verify all strong roots and references after marking. static void after_mark(); - - // Verify strong and weak roots and references. static void after_weak_processing(); }; - class VM_ZVerifyOperation : public VM_Operation { - public: - virtual bool needs_inactive_gc_locker() const { - // An inactive GC locker is needed in operations where we change the bad - // mask or move objects. Changing the bad mask will invalidate all oops, - // which makes it conceptually the same thing as moving all objects. - return false; - } - - virtual void doit() { - ZVerify::after_weak_processing(); - } - - bool success() const { - return true; - } - - virtual VMOp_Type type() const { return VMOp_ZVerify; } - }; - #endif // SHARE_GC_Z_ZVERIFY_HPP --- 26,48 ---- #include "memory/allocation.hpp" class ZVerify : public AllStatic { private: ! template <typename RootsIterator> static void roots(); + static void roots_strong(); static void roots_weak(); ! static void roots_concurrent_strong(); static void roots_concurrent_weak(); + static void roots(bool verify_weaks); static void objects(bool verify_weaks); ! static void roots_and_objects(bool verify_weaks); public: ! static void before_zoperation(); static void after_mark(); static void after_weak_processing(); }; #endif // SHARE_GC_Z_ZVERIFY_HPP
< prev index next >