diff -r 1258121876f8 -r 8e875c964f41 src/share/vm/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.hpp --- a/src/share/vm/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.hpp Fri Sep 27 13:23:32 2019 +0800 +++ b/src/share/vm/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.hpp Wed Oct 09 16:11:58 2019 +0800 @@ -26,25 +26,26 @@ #define SHARE_VM_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLECHECKPOINT_HPP #include "memory/allocation.hpp" -#include "utilities/exceptions.hpp" class EdgeStore; +class JfrCheckpointWriter; class JfrStackTraceRepository; -class JfrCheckpointWriter; class ObjectSampleMarker; +class ObjectSampler; class ObjectSampleCheckpoint : AllStatic { public: - static void install(JfrCheckpointWriter& writer, bool class_unload, bool resume); - static void write(const EdgeStore* edge_store, bool emit_all, Thread* thread); - static int mark(ObjectSampleMarker& marker, bool emit_all); + static void install(JfrCheckpointWriter& writer, bool class_unload, bool type_set); + static void write(ObjectSampler* sampler, EdgeStore* edge_store, bool emit_all, Thread* thread); + static int mark(ObjectSampler* sampler, ObjectSampleMarker& marker, bool emit_all); }; class WriteObjectSampleStacktrace : public StackObj { private: + ObjectSampler* const _sampler; JfrStackTraceRepository& _stack_trace_repo; public: - WriteObjectSampleStacktrace(JfrStackTraceRepository& repo); + WriteObjectSampleStacktrace(ObjectSampler* sampler, JfrStackTraceRepository& repo); bool process(); };