src/hotspot/share/jfr/recorder/stacktrace/jfrStackTraceRepository.cpp
branchJEP-349-branch
changeset 57934 9c150f2b1fea
parent 57902 f6502e486572
child 57983 a57907813a83
--- a/src/hotspot/share/jfr/recorder/stacktrace/jfrStackTraceRepository.cpp	Thu Aug 29 03:29:45 2019 +0200
+++ b/src/hotspot/share/jfr/recorder/stacktrace/jfrStackTraceRepository.cpp	Thu Aug 29 12:53:05 2019 +0200
@@ -177,18 +177,15 @@
   return tid;
 }
 
-traceid JfrStackTraceRepository::record_and_cache(JavaThread* thread, int skip /* 0 */) {
+void JfrStackTraceRepository::record_and_cache(JavaThread* thread, int skip /* 0 */) {
+  assert(thread != NULL, "invariant");
   JfrThreadLocal* const tl = thread->jfr_thread_local();
   assert(tl != NULL, "invariant");
-  if (tl->has_cached_stack_trace()) {
-    return tl->cached_stack_trace_id();
-  }
+  assert(!tl->has_cached_stack_trace(), "invariant");
   JfrStackTrace stacktrace(tl->stackframes(), tl->stackdepth());
   stacktrace.record_safe(thread, skip);
   assert(stacktrace.hash() != 0, "invariant");
-  const traceid id = instance().add(stacktrace);
-  tl->set_cached_stack_trace_id(id, stacktrace.hash());
-  return id;
+  tl->set_cached_stack_trace_id(instance().add(stacktrace), stacktrace.hash());
 }
 
 traceid JfrStackTraceRepository::add_trace(const JfrStackTrace& stacktrace) {