8134631: G1DummyRegionsPerGC fires assert of assert(words <= filler_array_max_size()) failed: too big for a single object
Summary: Change filler max value temporarily for G1DummyRegionsPerGC flag.
Reviewed-by: tbenson, tschatzl
--- a/hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp Fri Nov 13 09:12:06 2015 +0100
+++ b/hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp Thu Nov 12 09:52:04 2015 -0800
@@ -2278,6 +2278,10 @@
// 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,