src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hs-gc-g1-mmap Cdiff src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
Print this page
*** 151,162 ****
if (CollectedHeap::use_parallel_gc_threads()) {
for (size_t i = IndexSetStart; i < IndexSetSize; i += IndexSetStride) {
_indexedFreeListParLocks[i] = new Mutex(Mutex::leaf - 1, // == ExpandHeap_lock - 1
"a freelist par lock",
true);
- if (_indexedFreeListParLocks[i] == NULL)
- vm_exit_during_initialization("Could not allocate a par lock");
DEBUG_ONLY(
_indexedFreeList[i].set_protecting_lock(_indexedFreeListParLocks[i]);
)
}
_dictionary->set_par_lock(&_parDictionaryAllocLock);
--- 151,160 ----
*** 1760,1770 ****
ec = (FreeChunk*)chunk;
}
}
ec->set_size(size);
debug_only(ec->mangleFreed(size));
! if (size < SmallForDictionary) {
lock = _indexedFreeListParLocks[size];
}
MutexLockerEx x(lock, Mutex::_no_safepoint_check_flag);
addChunkAndRepairOffsetTable((HeapWord*)ec, size, true);
// record the birth under the lock since the recording involves
--- 1758,1768 ----
ec = (FreeChunk*)chunk;
}
}
ec->set_size(size);
debug_only(ec->mangleFreed(size));
! if (size < SmallForDictionary && ParallelGCThreads != 0) {
lock = _indexedFreeListParLocks[size];
}
MutexLockerEx x(lock, Mutex::_no_safepoint_check_flag);
addChunkAndRepairOffsetTable((HeapWord*)ec, size, true);
// record the birth under the lock since the recording involves
src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File