< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp
Print this page
rev 53791 : 8203232: Shenandoah: Resolve oops in SATB filter
*** 314,325 ****
shenandoah_assert_correct(NULL, result);
return result;
}
}
inline bool ShenandoahHeap::requires_marking(const void* entry) const {
! return !_marking_context->is_marked(oop(entry));
}
template <class T>
inline bool ShenandoahHeap::in_collection_set(T p) const {
HeapWord* obj = (HeapWord*) p;
--- 314,330 ----
shenandoah_assert_correct(NULL, result);
return result;
}
}
+ template<bool RESOLVE>
inline bool ShenandoahHeap::requires_marking(const void* entry) const {
! oop obj = oop(entry);
! if (RESOLVE) {
! obj = ShenandoahBarrierSet::resolve_forwarded_not_null(obj);
! }
! return !_marking_context->is_marked(obj);
}
template <class T>
inline bool ShenandoahHeap::in_collection_set(T p) const {
HeapWord* obj = (HeapWord*) p;
< prev index next >