< prev index next >
src/share/vm/gc/shenandoah/shenandoahHeap.cpp
Print this page
rev 13080 : Partial GC: Only evacuating threads push oop to work queue.
@@ -794,11 +794,12 @@
log_develop_trace(gc, compaction)("Calling ParallelEvacuateRegionObjectClosure on "PTR_FORMAT" of size %d\n", p2i((HeapWord*) p), p->size());
assert(_heap->is_marked_complete(p), "expect only marked objects");
if (oopDesc::unsafe_equals(p, ShenandoahBarrierSet::resolve_oop_static_not_null(p))) {
- _heap->evacuate_object(p, _thread);
+ bool evac;
+ _heap->evacuate_object(p, _thread, evac);
}
}
};
#ifdef ASSERT
@@ -1228,11 +1229,12 @@
if (_heap->in_collection_set(obj)) {
assert(_heap->is_marked_complete(obj), "only evacuate marked objects %d %d",
_heap->is_marked_complete(obj), _heap->is_marked_complete(ShenandoahBarrierSet::resolve_oop_static_not_null(obj)));
oop resolved = ShenandoahBarrierSet::resolve_oop_static_not_null(obj);
if (oopDesc::unsafe_equals(resolved, obj)) {
- resolved = _heap->evacuate_object(obj, _thread);
+ bool evac;
+ resolved = _heap->evacuate_object(obj, _thread, evac);
}
oopDesc::encode_store_heap_oop(p, resolved);
}
}
#ifdef ASSERT
< prev index next >