< 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 >