changeset 9424:4d465c7793ec

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
author sangheki
date Thu, 12 Nov 2015 09:52:04 -0800
parents cc1666a28b88
children fcace5e12e01
files src/share/vm/gc/g1/g1CollectedHeap.cpp
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/gc/g1/g1CollectedHeap.cpp	Fri Nov 13 09:12:06 2015 +0100
+++ b/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,