src/hotspot/share/jfr/recorder/stacktrace/jfrStackTraceRepository.hpp
branchJEP-349-branch
changeset 57902 f6502e486572
parent 57872 7aa1b3d6ff8f
child 57934 9c150f2b1fea
equal deleted inserted replaced
57887:a9cc3698a55c 57902:f6502e486572
    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