src/hotspot/share/gc/shared/taskqueue.inline.hpp
changeset 57978 be5865bda5b9
parent 57672 167cb7b4cd81
child 58679 9c3209ff7550
child 59247 56bf71d64d51
equal deleted inserted replaced
57977:42a13b4e9553 57978:be5865bda5b9
   205 bool GenericTaskQueue<E, F, N>::pop_global(volatile E& t) {
   205 bool GenericTaskQueue<E, F, N>::pop_global(volatile E& t) {
   206   Age oldAge = _age.get();
   206   Age oldAge = _age.get();
   207   // Architectures with weak memory model require a barrier here
   207   // Architectures with weak memory model require a barrier here
   208   // to guarantee that bottom is not older than age,
   208   // to guarantee that bottom is not older than age,
   209   // which is crucial for the correctness of the algorithm.
   209   // which is crucial for the correctness of the algorithm.
   210 #if !(defined SPARC || defined IA32 || defined AMD64)
   210 #ifndef CPU_MULTI_COPY_ATOMIC
   211   OrderAccess::fence();
   211   OrderAccess::fence();
   212 #endif
   212 #endif
   213   uint localBot = OrderAccess::load_acquire(&_bottom);
   213   uint localBot = OrderAccess::load_acquire(&_bottom);
   214   uint n_elems = size(localBot, oldAge.top());
   214   uint n_elems = size(localBot, oldAge.top());
   215   if (n_elems == 0) {
   215   if (n_elems == 0) {