diff -r 35530ca3e0b2 -r 67e3a8b3449c src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp --- a/src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp Wed Dec 26 19:24:00 2018 -0500 +++ b/src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp Thu Dec 27 21:17:11 2018 -0500 @@ -335,7 +335,8 @@ 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; } @@ -484,6 +485,10 @@ last_native_ms = get_monotonic_ms(); } } +} + +void JfrThreadSampler::post_run() { + this->NonJavaThread::post_run(); delete this; }