src/hotspot/share/gc/z/zArguments.cpp
changeset 58787 32d39d9525f9
parent 58468 97cd0aa39787
child 59150 82b2ba888190
--- 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);