diff -r 7909763ad193 -r 32d39d9525f9 src/hotspot/share/gc/z/zArguments.cpp --- a/src/hotspot/share/gc/z/zArguments.cpp Thu Oct 24 16:37:22 2019 +0200 +++ b/src/hotspot/share/gc/z/zArguments.cpp Thu Oct 24 17:24:58 2019 +0200 @@ -22,6 +22,7 @@ */ #include "precompiled.hpp" +#include "gc/z/zAddressSpaceLimit.hpp" #include "gc/z/zArguments.hpp" #include "gc/z/zCollectedHeap.hpp" #include "gc/z/zWorkers.hpp" @@ -37,6 +38,15 @@ void ZArguments::initialize() { GCArguments::initialize(); + // Check mark stack size + const size_t mark_stack_space_limit = ZAddressSpaceLimit::mark_stack(); + if (ZMarkStackSpaceLimit > mark_stack_space_limit) { + if (!FLAG_IS_DEFAULT(ZMarkStackSpaceLimit)) { + vm_exit_during_initialization("ZMarkStackSpaceLimit too large for limited address space"); + } + FLAG_SET_DEFAULT(ZMarkStackSpaceLimit, mark_stack_space_limit); + } + // Enable NUMA by default if (FLAG_IS_DEFAULT(UseNUMA)) { FLAG_SET_DEFAULT(UseNUMA, true);