--- a/src/hotspot/share/memory/metaspace/spaceManager.cpp Tue Oct 29 12:07:19 2019 +0100
+++ b/src/hotspot/share/memory/metaspace/spaceManager.cpp Tue Oct 29 12:10:57 2019 +0100
@@ -127,6 +127,14 @@
log_debug(metaspace)("SpaceManager %s: allocated new chunk " METACHUNK_FORMAT " for requested word size " SIZE_FORMAT ".",
_name, METACHUNK_FORMAT_ARGS(c), requested_word_size);
+ // Workaround for JDK-8233019: never return space allocated at a 32bit aligned address
+ if (Settings::do_not_return_32bit_aligned_addresses() &&
+ (((intptr_t)c->base()) & 0xFFFFFFFF) == 0)
+ {
+ bool ignored;
+ c->allocate(1, &ignored);
+ }
+
return c;
}