fixes JEP-349-branch
authormgronlun
Wed, 09 Oct 2019 23:21:07 +0200
branchJEP-349-branch
changeset 58525 2a49d43aaa6a
parent 58498 5a2761a6a564
child 58526 ec9da3c0eaec
fixes
src/hotspot/share/jfr/leakprofiler/chains/edgeStore.cpp
src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.cpp
src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdBits.inline.hpp
--- a/src/hotspot/share/jfr/leakprofiler/chains/edgeStore.cpp	Tue Oct 08 15:16:36 2019 +0200
+++ b/src/hotspot/share/jfr/leakprofiler/chains/edgeStore.cpp	Wed Oct 09 23:21:07 2019 +0200
@@ -259,6 +259,7 @@
   assert(leak_context_edge->parent() == NULL, "invariant");
 
   if (1 == length) {
+    store_gc_root_id_in_leak_context_edge(leak_context_edge, leak_context_edge);
     return;
   }
 
--- a/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.cpp	Tue Oct 08 15:16:36 2019 +0200
+++ b/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.cpp	Wed Oct 09 23:21:07 2019 +0200
@@ -355,10 +355,6 @@
 
 static traceid get_gc_root_description_info_id(const Edge& edge, traceid id) {
   assert(edge.is_root(), "invariant");
-  if (EdgeUtils::is_leak_edge(edge)) {
-    return 0;
-  }
-
   if (root_infos == NULL) {
     root_infos = new RootDescriptionInfo();
   }
--- a/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdBits.inline.hpp	Tue Oct 08 15:16:36 2019 +0200
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdBits.inline.hpp	Wed Oct 09 23:21:07 2019 +0200
@@ -42,8 +42,10 @@
   assert(dest != NULL, "invariant");
   if (bits != (*dest & bits)) {
     *dest |= bits;
-    OrderAccess::storestore();
+    OrderAccess::storeload();
+    return;
   }
+  OrderAccess::loadload();
 }
 
 inline jbyte traceid_and(jbyte current, jbyte bits) {