changeset 13059:e4a4414151f0

Fix Shenandoah argument checking on 32bit builds.
author rkennke
date Thu, 09 Mar 2017 15:50:19 +0100
parents 8966b5fe53ce
children 927522e04185
files src/share/vm/runtime/arguments.cpp
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/runtime/arguments.cpp	Wed Mar 08 12:50:29 2017 +0100
+++ b/src/share/vm/runtime/arguments.cpp	Thu Mar 09 15:50:19 2017 +0100
@@ -2056,12 +2056,16 @@
   UNSUPPORTED_OPTION(UseShenandoahGC);
 #endif
 
+#ifdef _LP64
+  // The optimized ObjArrayChunkedTask takes some bits away from the full 64 addressable
+  // bits, fail if we ever attempt to address more than we can. Only valid on 64bit.
   if (MaxHeapSize >= ObjArrayChunkedTask::oop_size) {
     jio_fprintf(defaultStream::error_stream(),
                 "Shenandoah GC cannot address more than " SIZE_FORMAT " bytes, and " SIZE_FORMAT " bytes heap requested.",
                 ObjArrayChunkedTask::oop_size, MaxHeapSize);
     vm_exit(1);
   }
+#endif
 
   FLAG_SET_DEFAULT(ParallelGCThreads,
                    Abstract_VM_Version::parallel_worker_threads());