src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp
changeset 53850 f42c58bab973
parent 53582 881c5fbeb849
child 54536 fb53a1c25903
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp	Wed Feb 20 10:22:46 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp	Wed Feb 20 16:29:29 2019 +0100
@@ -316,8 +316,13 @@
   }
 }
 
+template<bool RESOLVE>
 inline bool ShenandoahHeap::requires_marking(const void* entry) const {
-  return !_marking_context->is_marked(oop(entry));
+  oop obj = oop(entry);
+  if (RESOLVE) {
+    obj = ShenandoahBarrierSet::resolve_forwarded_not_null(obj);
+  }
+  return !_marking_context->is_marked(obj);
 }
 
 template <class T>