src/hotspot/share/gc/shared/taskqueue.inline.hpp
changeset 48955 e22914003cf0
parent 47885 5caa1d5f74c1
child 49911 358be4680d12
equal deleted inserted replaced
48954:c8a33db795b6 48955:e22914003cf0
     1 /*
     1 /*
     2  * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
   203   // to guarantee that bottom is not older than age,
   203   // to guarantee that bottom is not older than age,
   204   // which is crucial for the correctness of the algorithm.
   204   // which is crucial for the correctness of the algorithm.
   205 #if !(defined SPARC || defined IA32 || defined AMD64)
   205 #if !(defined SPARC || defined IA32 || defined AMD64)
   206   OrderAccess::fence();
   206   OrderAccess::fence();
   207 #endif
   207 #endif
   208   uint localBot = OrderAccess::load_acquire((volatile juint*)&_bottom);
   208   uint localBot = OrderAccess::load_acquire(&_bottom);
   209   uint n_elems = size(localBot, oldAge.top());
   209   uint n_elems = size(localBot, oldAge.top());
   210   if (n_elems == 0) {
   210   if (n_elems == 0) {
   211     return false;
   211     return false;
   212   }
   212   }
   213 
   213