src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 7089790_full Sdiff src/share/vm/gc_implementation/concurrentMarkSweep

src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.cpp

Print this page
rev 2694 : imported patch headers_only


  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "gc_implementation/concurrentMarkSweep/freeBlockDictionary.hpp"
  27 #ifdef TARGET_OS_FAMILY_linux
  28 # include "thread_linux.inline.hpp"
  29 #endif
  30 #ifdef TARGET_OS_FAMILY_solaris
  31 # include "thread_solaris.inline.hpp"
  32 #endif
  33 #ifdef TARGET_OS_FAMILY_windows
  34 # include "thread_windows.inline.hpp"
  35 #endif



  36 
  37 #ifndef PRODUCT
  38 Mutex* FreeBlockDictionary::par_lock() const {
  39   return _lock;
  40 }
  41 
  42 void FreeBlockDictionary::set_par_lock(Mutex* lock) {
  43   _lock = lock;
  44 }
  45 
  46 void FreeBlockDictionary::verify_par_locked() const {
  47 #ifdef ASSERT
  48   if (ParallelGCThreads > 0) {
  49     Thread* myThread = Thread::current();
  50     if (myThread->is_GC_task_thread()) {
  51       assert(par_lock() != NULL, "Should be using locking?");
  52       assert_lock_strong(par_lock());
  53     }
  54   }
  55 #endif // ASSERT


  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "gc_implementation/concurrentMarkSweep/freeBlockDictionary.hpp"
  27 #ifdef TARGET_OS_FAMILY_linux
  28 # include "thread_linux.inline.hpp"
  29 #endif
  30 #ifdef TARGET_OS_FAMILY_solaris
  31 # include "thread_solaris.inline.hpp"
  32 #endif
  33 #ifdef TARGET_OS_FAMILY_windows
  34 # include "thread_windows.inline.hpp"
  35 #endif
  36 #ifdef TARGET_OS_FAMILY_bsd
  37 # include "thread_bsd.inline.hpp"
  38 #endif
  39 
  40 #ifndef PRODUCT
  41 Mutex* FreeBlockDictionary::par_lock() const {
  42   return _lock;
  43 }
  44 
  45 void FreeBlockDictionary::set_par_lock(Mutex* lock) {
  46   _lock = lock;
  47 }
  48 
  49 void FreeBlockDictionary::verify_par_locked() const {
  50 #ifdef ASSERT
  51   if (ParallelGCThreads > 0) {
  52     Thread* myThread = Thread::current();
  53     if (myThread->is_GC_task_thread()) {
  54       assert(par_lock() != NULL, "Should be using locking?");
  55       assert_lock_strong(par_lock());
  56     }
  57   }
  58 #endif // ASSERT
src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File