In JDK-8042668 we introduced the use of CollectedHeap::fill_with_objects() with a custom maximum filler object size for G1.
That custom maximum filler object size is significantly lower than the 8G talked about in the comments of CollectedHeap::fill_with_objects(), so that even in 32 bit VMs it may happen that fill_with_objects() can be called with a size that is larger than that, requiring the use of multiple objects.
This issue can be reproduced with JDK-8129558 that also uses fill_with_objects() on GCBasher.