1.1 --- a/src/share/vm/runtime/arguments.cpp Fri Nov 09 22:22:53 2012 -0800 1.2 +++ b/src/share/vm/runtime/arguments.cpp Mon Nov 12 15:58:11 2012 -0500 1.3 @@ -24,6 +24,7 @@ 1.4 1.5 #include "precompiled.hpp" 1.6 #include "classfile/javaAssertions.hpp" 1.7 +#include "classfile/symbolTable.hpp" 1.8 #include "compiler/compilerOracle.hpp" 1.9 #include "memory/allocation.inline.hpp" 1.10 #include "memory/cardTableRS.hpp" 1.11 @@ -1844,6 +1845,11 @@ 1.12 status = status && verify_percentage(MinHeapFreeRatio, "MinHeapFreeRatio"); 1.13 status = status && verify_percentage(MaxHeapFreeRatio, "MaxHeapFreeRatio"); 1.14 1.15 + // Divide by bucket size to prevent a large size from causing rollover when 1.16 + // calculating amount of memory needed to be allocated for the String table. 1.17 + status = status && verify_interval(StringTableSize, defaultStringTableSize, 1.18 + (max_uintx / StringTable::bucket_size()), "StringTable size"); 1.19 + 1.20 if (MinHeapFreeRatio > MaxHeapFreeRatio) { 1.21 jio_fprintf(defaultStream::error_stream(), 1.22 "MinHeapFreeRatio (" UINTX_FORMAT ") must be less than or "