diff -r a9cc3698a55c -r f6502e486572 src/hotspot/share/jfr/recorder/stacktrace/jfrStackTraceRepository.hpp --- a/src/hotspot/share/jfr/recorder/stacktrace/jfrStackTraceRepository.hpp Tue Aug 27 12:36:05 2019 +0200 +++ b/src/hotspot/share/jfr/recorder/stacktrace/jfrStackTraceRepository.hpp Wed Aug 28 12:03:58 2019 +0200 @@ -37,6 +37,7 @@ friend class FlushStackTraceRepository; friend class JfrRecorder; friend class JfrRecorderService; + friend class JfrThreadSampleClosure; friend class ObjectSampleCheckpoint; friend class ObjectSampler; friend class StackTraceInstall; @@ -64,14 +65,13 @@ size_t clear(); traceid add_trace(const JfrStackTrace& stacktrace); - static traceid add(const JfrStackTrace* stacktrace, JavaThread* thread); + static traceid add(const JfrStackTrace& stacktrace); traceid record_for(JavaThread* thread, int skip, JfrStackFrame* frames, u4 max_frames); const JfrStackTrace* lookup(unsigned int hash, traceid id) const; - static bool fill_stacktrace_for(JavaThread* thread, JfrStackTrace* stacktrace, int skip); public: - static traceid add(const JfrStackTrace& stacktrace); static traceid record(Thread* thread, int skip = 0); + static traceid record_and_cache(JavaThread* thread, int skip = 0); }; #endif // SHARE_JFR_RECORDER_STACKTRACE_JFRSTACKTRACEREPOSITORY_HPP