--- old/src/hotspot/share/gc/shared/workgroup.cpp 2019-08-02 17:36:20.840546099 +0800 +++ new/src/hotspot/share/gc/shared/workgroup.cpp 2019-08-02 17:36:20.620545299 +0800 @@ -433,6 +433,8 @@ if (old == 0) { old = Atomic::cmpxchg(1u, &_tasks[t], 0u); } + + DEBUG_ONLY(OrderAccess::fence()); // Prevent below load from floating up. assert(_tasks[t] == 1, "What else?"); bool res = old == 0; #ifdef ASSERT