< prev index next >

src/hotspot/share/gc/shared/taskqueue.inline.hpp

Print this page
rev 56016 : 8229422: Taskqueue: Outdated selection of weak memory model platforms
Reviewed-by:

*** 205,215 **** bool GenericTaskQueue<E, F, N>::pop_global(volatile E& t) { Age oldAge = _age.get(); // Architectures with weak memory model require a barrier here // to guarantee that bottom is not older than age, // which is crucial for the correctness of the algorithm. ! #if !(defined SPARC || defined IA32 || defined AMD64) OrderAccess::fence(); #endif uint localBot = OrderAccess::load_acquire(&_bottom); uint n_elems = size(localBot, oldAge.top()); if (n_elems == 0) { --- 205,215 ---- bool GenericTaskQueue<E, F, N>::pop_global(volatile E& t) { Age oldAge = _age.get(); // Architectures with weak memory model require a barrier here // to guarantee that bottom is not older than age, // which is crucial for the correctness of the algorithm. ! #ifndef CPU_MULTI_COPY_ATOMIC OrderAccess::fence(); #endif uint localBot = OrderAccess::load_acquire(&_bottom); uint n_elems = size(localBot, oldAge.top()); if (n_elems == 0) {
< prev index next >