--- old/src/hotspot/share/runtime/vm_operations.hpp 2018-03-23 15:32:40.000000000 -0400 +++ new/src/hotspot/share/runtime/vm_operations.hpp 2018-03-23 15:32:40.000000000 -0400 @@ -459,7 +459,7 @@ private: int _exit_code; static volatile bool _vm_exited; - static Thread * _shutdown_thread; + static Thread * volatile _shutdown_thread; static void wait_if_vm_exited(); public: VM_Exit(int exit_code) { @@ -467,6 +467,8 @@ } static int wait_for_threads_in_native_to_block(); static int set_vm_exited(); + static void set_shutdown_thread(Thread *t) { _shutdown_thread = t; } + static Thread * shutdown_thread() { return _shutdown_thread; } static bool vm_exited() { return _vm_exited; } static void block_if_vm_exited() { if (_vm_exited) {