--- old/src/hotspot/share/runtime/thread.hpp 2019-08-28 15:05:57.922953277 -0400 +++ new/src/hotspot/share/runtime/thread.hpp 2019-08-28 15:05:57.754953283 -0400 @@ -410,11 +410,11 @@ // Per-thread ObjectMonitor lists: public: - ObjectMonitor* om_free_list; // SLL of free ObjectMonitors - int om_free_count; // # on om_free_list + ObjectMonitor* volatile om_free_list; // SLL of free ObjectMonitors + volatile int om_free_count; // # on om_free_list int om_free_provision; // # to try to allocate next - ObjectMonitor* om_in_use_list; // SLL of in-use ObjectMonitors - int om_in_use_count; // # on om_in_use_list + ObjectMonitor* volatile om_in_use_list; // SLL of in-use ObjectMonitors + volatile int om_in_use_count; // # on om_in_use_list #ifdef ASSERT private: @@ -522,7 +522,6 @@ os::set_native_thread_name(name); } - ObjectMonitor** om_in_use_list_addr() { return (ObjectMonitor **)&om_in_use_list; } Monitor* SR_lock() const { return _SR_lock; } bool has_async_exception() const { return (_suspend_flags & _has_async_exception) != 0; }