< prev index next >

src/hotspot/share/memory/iterator.inline.hpp

Print this page

        

*** 25,34 **** --- 25,36 ---- #ifndef SHARE_VM_MEMORY_ITERATOR_INLINE_HPP #define SHARE_VM_MEMORY_ITERATOR_INLINE_HPP #include "classfile/classLoaderData.hpp" #include "memory/iterator.hpp" + #include "oops/access.inline.hpp" + #include "oops/compressedOops.inline.hpp" #include "oops/klass.hpp" #include "oops/instanceKlass.inline.hpp" #include "oops/instanceMirrorKlass.inline.hpp" #include "oops/instanceClassLoaderKlass.inline.hpp" #include "oops/instanceRefKlass.inline.hpp"
*** 50,62 **** // This verification is applied to all visited oops. // The closures can turn is off by overriding should_verify_oops(). template <typename T> void ExtendedOopClosure::verify(T* p) { if (should_verify_oops()) { ! T heap_oop = oopDesc::load_heap_oop(p); ! if (!oopDesc::is_null(heap_oop)) { ! oop o = oopDesc::decode_heap_oop_not_null(heap_oop); assert(Universe::heap()->is_in_closed_subset(o), "should be in closed *p " PTR_FORMAT " " PTR_FORMAT, p2i(p), p2i(o)); } } } --- 52,64 ---- // This verification is applied to all visited oops. // The closures can turn is off by overriding should_verify_oops(). template <typename T> void ExtendedOopClosure::verify(T* p) { if (should_verify_oops()) { ! T heap_oop = RawAccess<>::oop_load(p); ! if (!CompressedOops::is_null(heap_oop)) { ! oop o = CompressedOops::decode_not_null(heap_oop); assert(Universe::heap()->is_in_closed_subset(o), "should be in closed *p " PTR_FORMAT " " PTR_FORMAT, p2i(p), p2i(o)); } } }
< prev index next >