< prev index next >

src/hotspot/share/gc/shared/workgroup.cpp

Print this page

        

*** 431,440 **** --- 431,442 ---- assert(t < _n_tasks, "bad task id."); uint old = _tasks[t]; 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 if (res) { assert(_claimed < _n_tasks, "Too many tasks claimed; missing clear?");
< prev index next >