477 // Construct the is_alive_closure with _span & markBitMap |
477 // Construct the is_alive_closure with _span & markBitMap |
478 _is_alive_closure(_span, &_markBitMap), |
478 _is_alive_closure(_span, &_markBitMap), |
479 _restart_addr(NULL), |
479 _restart_addr(NULL), |
480 _overflow_list(NULL), |
480 _overflow_list(NULL), |
481 _stats(cmsGen), |
481 _stats(cmsGen), |
482 _eden_chunk_lock(new Mutex(Mutex::leaf + 1, "CMS_eden_chunk_lock", true)), |
482 _eden_chunk_lock(new Mutex(Mutex::leaf + 1, "CMS_eden_chunk_lock", true, |
|
483 //verify that this lock should be acquired with safepoint check. |
|
484 Monitor::_safepoint_check_sometimes)), |
483 _eden_chunk_array(NULL), // may be set in ctor body |
485 _eden_chunk_array(NULL), // may be set in ctor body |
484 _eden_chunk_capacity(0), // -- ditto -- |
486 _eden_chunk_capacity(0), // -- ditto -- |
485 _eden_chunk_index(0), // -- ditto -- |
487 _eden_chunk_index(0), // -- ditto -- |
486 _survivor_plab_array(NULL), // -- ditto -- |
488 _survivor_plab_array(NULL), // -- ditto -- |
487 _survivor_chunk_array(NULL), // -- ditto -- |
489 _survivor_chunk_array(NULL), // -- ditto -- |
6029 // bit vector itself. That is done by a separate call CMSBitMap::allocate() |
6031 // bit vector itself. That is done by a separate call CMSBitMap::allocate() |
6030 // further below. |
6032 // further below. |
6031 CMSBitMap::CMSBitMap(int shifter, int mutex_rank, const char* mutex_name): |
6033 CMSBitMap::CMSBitMap(int shifter, int mutex_rank, const char* mutex_name): |
6032 _bm(), |
6034 _bm(), |
6033 _shifter(shifter), |
6035 _shifter(shifter), |
6034 _lock(mutex_rank >= 0 ? new Mutex(mutex_rank, mutex_name, true) : NULL) |
6036 _lock(mutex_rank >= 0 ? new Mutex(mutex_rank, mutex_name, true, |
|
6037 Monitor::_safepoint_check_sometimes) : NULL) |
6035 { |
6038 { |
6036 _bmStartWord = 0; |
6039 _bmStartWord = 0; |
6037 _bmWordSize = 0; |
6040 _bmWordSize = 0; |
6038 } |
6041 } |
6039 |
6042 |