35 |
35 |
36 class JfrStackTraceRepository : public JfrCHeapObj { |
36 class JfrStackTraceRepository : public JfrCHeapObj { |
37 friend class FlushStackTraceRepository; |
37 friend class FlushStackTraceRepository; |
38 friend class JfrRecorder; |
38 friend class JfrRecorder; |
39 friend class JfrRecorderService; |
39 friend class JfrRecorderService; |
|
40 friend class JfrThreadSampleClosure; |
40 friend class ObjectSampleCheckpoint; |
41 friend class ObjectSampleCheckpoint; |
41 friend class ObjectSampler; |
42 friend class ObjectSampler; |
42 friend class StackTraceInstall; |
43 friend class StackTraceInstall; |
43 friend class StackTraceWrite; |
44 friend class StackTraceWrite; |
44 friend class WriteStackTraceRepository; |
45 friend class WriteStackTraceRepository; |
62 traceid write(JfrCheckpointWriter& cpw, traceid id, unsigned int hash); |
63 traceid write(JfrCheckpointWriter& cpw, traceid id, unsigned int hash); |
63 size_t write(JfrChunkWriter& cw, bool clear); |
64 size_t write(JfrChunkWriter& cw, bool clear); |
64 size_t clear(); |
65 size_t clear(); |
65 |
66 |
66 traceid add_trace(const JfrStackTrace& stacktrace); |
67 traceid add_trace(const JfrStackTrace& stacktrace); |
67 static traceid add(const JfrStackTrace* stacktrace, JavaThread* thread); |
68 static traceid add(const JfrStackTrace& stacktrace); |
68 traceid record_for(JavaThread* thread, int skip, JfrStackFrame* frames, u4 max_frames); |
69 traceid record_for(JavaThread* thread, int skip, JfrStackFrame* frames, u4 max_frames); |
69 const JfrStackTrace* lookup(unsigned int hash, traceid id) const; |
70 const JfrStackTrace* lookup(unsigned int hash, traceid id) const; |
70 static bool fill_stacktrace_for(JavaThread* thread, JfrStackTrace* stacktrace, int skip); |
|
71 |
71 |
72 public: |
72 public: |
73 static traceid add(const JfrStackTrace& stacktrace); |
|
74 static traceid record(Thread* thread, int skip = 0); |
73 static traceid record(Thread* thread, int skip = 0); |
|
74 static traceid record_and_cache(JavaThread* thread, int skip = 0); |
75 }; |
75 }; |
76 |
76 |
77 #endif // SHARE_JFR_RECORDER_STACKTRACE_JFRSTACKTRACEREPOSITORY_HPP |
77 #endif // SHARE_JFR_RECORDER_STACKTRACE_JFRSTACKTRACEREPOSITORY_HPP |