< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp

Print this page
rev 53791 : 8203232: Shenandoah: Resolve oops in SATB filter

@@ -314,12 +314,17 @@
     shenandoah_assert_correct(NULL, result);
     return result;
   }
 }
 
+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>
 inline bool ShenandoahHeap::in_collection_set(T p) const {
   HeapWord* obj = (HeapWord*) p;
< prev index next >