src/hotspot/share/gc/z/zArguments.cpp
changeset 54617 24f6b0e413a0
parent 53086 026842c1809f
child 54678 93f09ca4a7f8
--- a/src/hotspot/share/gc/z/zArguments.cpp	Thu Apr 25 08:55:49 2019 +0200
+++ b/src/hotspot/share/gc/z/zArguments.cpp	Thu Apr 25 08:55:50 2019 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,13 +30,14 @@
 #include "runtime/globals.hpp"
 #include "runtime/globals_extension.hpp"
 
-size_t ZArguments::conservative_max_heap_alignment() {
-  return 0;
-}
-
 void ZArguments::initialize() {
   GCArguments::initialize();
 
+  // Check max heap size
+  if (MaxHeapSize > ZMaxHeapSize) {
+    vm_exit_during_initialization("Java heap too large");
+  }
+
   // Enable NUMA by default
   if (FLAG_IS_DEFAULT(UseNUMA)) {
     FLAG_SET_DEFAULT(UseNUMA, true);
@@ -95,6 +96,10 @@
   initialize_platform();
 }
 
+size_t ZArguments::conservative_max_heap_alignment() {
+  return 0;
+}
+
 CollectedHeap* ZArguments::create_heap() {
   return create_heap_with_policy<ZCollectedHeap, ZCollectorPolicy>();
 }