< 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 >