< prev index next >

src/hotspot/share/jfr/leakprofiler/checkpoint/eventEmitter.cpp

Print this page
rev 57531 : imported patch 8234173.0

@@ -114,12 +114,14 @@
   assert(_jfr_thread_local != NULL, "invariant");
 
   traceid gc_root_id = 0;
   const Edge* edge = NULL;
   if (SafepointSynchronize::is_at_safepoint()) {
+    if (!sample->object()->mark().is_marked()) {
     edge = (const Edge*)(sample->object())->mark().to_pointer();
   }
+  }
   if (edge == NULL) {
     // In order to dump out a representation of the event
     // even though it was not reachable / too long to reach,
     // we need to register a top level edge for this object.
     edge = edge_store->put(UnifiedOopRef::encode_in_native(sample->object_addr()));
< prev index next >