< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp
Print this page
rev 58162 : 8237632: Shenandoah fails some vmTestbase_nsk_jvmti tests with "Forwardee must point to a heap address"
@@ -138,11 +138,11 @@
template <class T>
oop ShenandoahBarrierSet::load_reference_barrier_mutator_work(oop obj, T* load_addr) {
assert(ShenandoahLoadRefBarrier, "should be enabled");
shenandoah_assert_in_cset(load_addr, obj);
- oop fwd = resolve_forwarded_not_null(obj);
+ oop fwd = resolve_forwarded_not_null_mutator(obj);
if (obj == fwd) {
assert(_heap->is_gc_in_progress_mask(ShenandoahHeap::EVACUATION | ShenandoahHeap::TRAVERSAL),
"evac should be in progress");
ShenandoahEvacOOMScope oom_evac_scope;
@@ -171,11 +171,11 @@
HeapWord* cur = cast_from_oop<HeapWord*>(obj) + obj->size();
size_t count = 0;
while ((cur < r->top()) && ctx->is_marked(oop(cur)) && (count++ < max)) {
oop cur_oop = oop(cur);
- if (cur_oop == resolve_forwarded_not_null(cur_oop)) {
+ if (cur_oop == resolve_forwarded_not_null_mutator(cur_oop)) {
_heap->evacuate_object(cur_oop, thread);
}
cur = cur + cur_oop->size();
}
}
< prev index next >