mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 02:54:35 +02:00
6990419: CMS Remaining work for 6572569: consistently skewed work distribution in (long) re-mark pauses
Reviewed-by: rasbold, tschatzl, jmasa
This commit is contained in:
parent
0c344951cc
commit
5c9dbad612
5 changed files with 101 additions and 4 deletions
|
@ -1033,6 +1033,9 @@ HeapWord* DefNewGeneration::allocate(size_t word_size,
|
|||
// have to use it here, as well.
|
||||
HeapWord* result = eden()->par_allocate(word_size);
|
||||
if (result != NULL) {
|
||||
if (CMSEdenChunksRecordAlways && _next_gen != NULL) {
|
||||
_next_gen->sample_eden_chunk();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
do {
|
||||
|
@ -1063,13 +1066,19 @@ HeapWord* DefNewGeneration::allocate(size_t word_size,
|
|||
// circular dependency at compile time.
|
||||
if (result == NULL) {
|
||||
result = allocate_from_space(word_size);
|
||||
} else if (CMSEdenChunksRecordAlways && _next_gen != NULL) {
|
||||
_next_gen->sample_eden_chunk();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
HeapWord* DefNewGeneration::par_allocate(size_t word_size,
|
||||
bool is_tlab) {
|
||||
return eden()->par_allocate(word_size);
|
||||
HeapWord* res = eden()->par_allocate(word_size);
|
||||
if (CMSEdenChunksRecordAlways && _next_gen != NULL) {
|
||||
_next_gen->sample_eden_chunk();
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
void DefNewGeneration::gc_prologue(bool full) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue