< prev index next >

src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp

Print this page

        

*** 333,343 **** void disenroll(); void set_java_interval(size_t interval) { _interval_java = interval; }; void set_native_interval(size_t interval) { _interval_native = interval; }; size_t get_java_interval() { return _interval_java; }; size_t get_native_interval() { return _interval_native; }; ! public: void run(); static Monitor* transition_block() { return JfrThreadSampler_lock; } static void on_javathread_suspend(JavaThread* thread); }; --- 333,344 ---- void disenroll(); void set_java_interval(size_t interval) { _interval_java = interval; }; void set_native_interval(size_t interval) { _interval_native = interval; }; size_t get_java_interval() { return _interval_java; }; size_t get_native_interval() { return _interval_native; }; ! protected: ! virtual void post_run(); public: void run(); static Monitor* transition_block() { return JfrThreadSampler_lock; } static void on_javathread_suspend(JavaThread* thread); };
*** 482,491 **** --- 483,496 ---- if ((next_n - sleep_to_next) <= 0) { task_stacktrace(NATIVE_SAMPLE, &_last_thread_native); last_native_ms = get_monotonic_ms(); } } + } + + void JfrThreadSampler::post_run() { + this->NonJavaThread::post_run(); delete this; } void JfrThreadSampler::task_stacktrace(JfrSampleType type, JavaThread** last_thread) {
< prev index next >