8134631: G1DummyRegionsPerGC fires assert of assert(words <= filler_array_max_size()) failed: too big for a single object

Change filler max value temporarily for G1DummyRegionsPerGC flag.

Reviewed-by: tbenson, tschatzl
This commit is contained in:
Sangheon Kim 2015-11-12 09:52:04 -08:00
parent 4d9dfbeb1d
commit 6c10034f4b

View File

@ -2278,6 +2278,10 @@ void G1CollectedHeap::allocate_dummy_regions() {
// And as a result the region we'll allocate will be humongous.
guarantee(is_humongous(word_size), "sanity");
// _filler_array_max_size is set to humongous object threshold
// but temporarily change it to use CollectedHeap::fill_with_object().
SizeTFlagSetting fs(_filler_array_max_size, word_size);
for (uintx i = 0; i < G1DummyRegionsPerGC; ++i) {
// Let's use the existing mechanism for the allocation
HeapWord* dummy_obj = humongous_obj_allocate(word_size,