< prev index next >
src/hotspot/share/gc/z/zHeapIterator.cpp
Print this page
*** 26,35 ****
--- 26,36 ----
#include "gc/z/zBarrier.inline.hpp"
#include "gc/z/zGlobals.hpp"
#include "gc/z/zHeapIterator.hpp"
#include "gc/z/zOop.inline.hpp"
#include "gc/z/zRootsIterator.hpp"
+ #include "memory/iterator.inline.hpp"
#include "oops/oop.inline.hpp"
#include "utilities/bitMap.inline.hpp"
#include "utilities/stack.inline.hpp"
class ZHeapIteratorBitMap : public CHeapObj<mtGC> {
*** 71,105 ****
virtual void do_oop(narrowOop* p) {
ShouldNotReachHere();
}
};
! class ZHeapIteratorPushOopClosure : public ExtendedOopClosure {
private:
ZHeapIterator* const _iter;
const oop _base;
public:
ZHeapIteratorPushOopClosure(ZHeapIterator* iter, oop base) :
_iter(iter),
_base(base) {}
! void do_oop_nv(oop* p) {
const oop obj = HeapAccess<ON_UNKNOWN_OOP_REF>::oop_load_at(_base, _base->field_offset(p));
_iter->push(obj);
}
- void do_oop_nv(narrowOop* p) {
- ShouldNotReachHere();
- }
-
- virtual void do_oop(oop* p) {
- do_oop_nv(p);
- }
-
virtual void do_oop(narrowOop* p) {
! do_oop_nv(p);
}
#ifdef ASSERT
virtual bool should_verify_oops() {
return false;
--- 72,98 ----
virtual void do_oop(narrowOop* p) {
ShouldNotReachHere();
}
};
! class ZHeapIteratorPushOopClosure : public BasicOopIterateClosure {
private:
ZHeapIterator* const _iter;
const oop _base;
public:
ZHeapIteratorPushOopClosure(ZHeapIterator* iter, oop base) :
_iter(iter),
_base(base) {}
! virtual void do_oop(oop* p) {
const oop obj = HeapAccess<ON_UNKNOWN_OOP_REF>::oop_load_at(_base, _base->field_offset(p));
_iter->push(obj);
}
virtual void do_oop(narrowOop* p) {
! ShouldNotReachHere();
}
#ifdef ASSERT
virtual bool should_verify_oops() {
return false;
< prev index next >