--- old/src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp 2018-12-10 01:36:22.144565684 -0500 +++ new/src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp 2018-12-10 01:36:20.528473242 -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; }