src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
Print this page
@@ -4362,12 +4362,10 @@
_dcq(&g1h->dirty_card_queue_set()),
_ct_bs((CardTableModRefBS*)_g1h->barrier_set()),
_g1_rem(g1h->g1_rem_set()),
_hash_seed(17), _queue_num(queue_num),
_term_attempts(0),
- _surviving_alloc_buffer(g1h->desired_plab_sz(GCAllocForSurvived)),
- _tenured_alloc_buffer(g1h->desired_plab_sz(GCAllocForTenured)),
_age_table(false),
_strong_roots_time(0), _term_time(0),
_alloc_buffer_waste(0), _undo_waste(0) {
// we allocate G1YoungSurvRateNumRegions plus one entries, since
// we "sacrifice" entry 0 to keep track of surviving bytes for
@@ -4383,12 +4381,15 @@
vm_exit_out_of_memory(array_length * sizeof(size_t),
"Not enough space for young surv histo.");
_surviving_young_words = _surviving_young_words_base + PADDING_ELEM_NUM;
memset(_surviving_young_words, 0, (size_t) real_length * sizeof(size_t));
- _alloc_buffers[GCAllocForSurvived] = &_surviving_alloc_buffer;
- _alloc_buffers[GCAllocForTenured] = &_tenured_alloc_buffer;
+ for (int ap = 0; ap < GCAllocPurposeCount; ++ap)
+ for (int pr = 0; pr < GCAllocPriorityCount; ++pr) {
+ _alloc_buffers[buf_idx(ap, pr)] =
+ new G1ParGCAllocBuffer(g1h->desired_plab_sz(GCAllocPurpose(ap)));
+ }
_start = os::elapsedTime();
}
void