< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp
Print this page
rev 57380 : 8234974: Shenandoah: Do concurrent roots even when no evacuation is necessary
rev 57381 : [mq]: JDK-8234974-changes.patch
@@ -263,11 +263,16 @@
return NULL;
}
ShenandoahMarkingContext* const marking_context = _heap->marking_context();
if (_heap->is_concurrent_root_in_progress() && !marking_context->is_marked(obj)) {
+ Thread* thr = Thread::current();
+ if (thr->is_Java_thread()) {
return NULL;
+ } else {
+ return obj;
+ }
}
oop fwd = load_reference_barrier_not_null(obj);
if (load_addr != NULL && fwd != obj) {
// Since we are here and we know the load address, update the reference.
< prev index next >