< prev index next >
src/share/vm/gc_implementation/g1/g1Allocator.cpp
Print this page
rev 7471 : 8060025: Object copy time regressions after JDK-8031323 and JDK-8057536
Summary: Evaluate and improve object copy time by micro-optimizations and splitting out slow and fast paths aggressively.
Reviewed-by:
Contributed-by: Tony Printezis <tprintezis@twitter.com>, Thomas Schatzl <thomas.schatzl@oracle.com>
rev 7472 : [mq]: 8060025-mikael-review1
*** 148,162 ****
_alloc_buffers[InCSetState::Young] = &_surviving_alloc_buffer;
_alloc_buffers[InCSetState::Old] = &_tenured_alloc_buffer;
}
void G1DefaultParGCAllocator::retire_alloc_buffers() {
! for (uint i = 0; i < InCSetState::Num; i += 1) {
! G1ParGCAllocBuffer* const buf = _alloc_buffers[i];
if (buf != NULL) {
add_to_alloc_buffer_waste(buf->words_remaining());
! buf->flush_stats_and_retire(_g1h->alloc_buffer_stats(i),
true /* end_of_gc */,
false /* retain */);
}
}
}
--- 148,162 ----
_alloc_buffers[InCSetState::Young] = &_surviving_alloc_buffer;
_alloc_buffers[InCSetState::Old] = &_tenured_alloc_buffer;
}
void G1DefaultParGCAllocator::retire_alloc_buffers() {
! for (uint state = 0; state < InCSetState::Num; state += 1) {
! G1ParGCAllocBuffer* const buf = _alloc_buffers[state];
if (buf != NULL) {
add_to_alloc_buffer_waste(buf->words_remaining());
! buf->flush_stats_and_retire(_g1h->alloc_buffer_stats(state),
true /* end_of_gc */,
false /* retain */);
}
}
}
< prev index next >