Wed, 18 Sep 2013 15:59:41 +0200
Merge
1.1 --- a/src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp Tue Sep 17 20:59:07 2013 +0200 1.2 +++ b/src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp Wed Sep 18 15:59:41 2013 +0200 1.3 @@ -35,7 +35,9 @@ 1.4 1.5 // Used on 64 bit platforms for UseCompressedOops base address 1.6 #ifdef _LP64 1.7 -define_pd_global(uintx, HeapBaseMinAddress, CONST64(4)*G); 1.8 +// use 6G as default base address because by default the OS maps the application 1.9 +// to 4G on Solaris-Sparc. This leaves at least 2G for the native heap. 1.10 +define_pd_global(uintx, HeapBaseMinAddress, CONST64(6)*G); 1.11 #else 1.12 define_pd_global(uintx, HeapBaseMinAddress, 2*G); 1.13 #endif
2.1 --- a/test/gc/arguments/TestUseCompressedOopsErgoTools.java Tue Sep 17 20:59:07 2013 +0200 2.2 +++ b/test/gc/arguments/TestUseCompressedOopsErgoTools.java Wed Sep 18 15:59:41 2013 +0200 2.3 @@ -42,10 +42,10 @@ 2.4 2.5 class TestUseCompressedOopsErgoTools { 2.6 2.7 - private static long getClassMetaspaceSize() { 2.8 + private static long getCompressedClassSpaceSize() { 2.9 HotSpotDiagnosticMXBean diagnostic = ManagementFactoryHelper.getDiagnosticMXBean(); 2.10 2.11 - VMOption option = diagnostic.getVMOption("ClassMetaspaceSize"); 2.12 + VMOption option = diagnostic.getVMOption("CompressedClassSpaceSize"); 2.13 return Long.parseLong(option.getValue()); 2.14 } 2.15 2.16 @@ -132,13 +132,13 @@ 2.17 checkUseCompressedOops(join(gcflags, "-XX:ObjectAlignmentInBytes=16"), maxHeapForCompressedOops - 1, true); 2.18 checkUseCompressedOops(join(gcflags, "-XX:ObjectAlignmentInBytes=16"), maxHeapForCompressedOops + 1, false); 2.19 2.20 - // use a different ClassMetaspaceSize 2.21 - String classMetaspaceSizeArg = "-XX:ClassMetaspaceSize=" + 2 * getClassMetaspaceSize(); 2.22 - maxHeapForCompressedOops = getMaxHeapForCompressedOops(join(gcflags, classMetaspaceSizeArg)); 2.23 + // use a different CompressedClassSpaceSize 2.24 + String compressedClassSpaceSizeArg = "-XX:CompressedClassSpaceSize=" + 2 * getCompressedClassSpaceSize(); 2.25 + maxHeapForCompressedOops = getMaxHeapForCompressedOops(join(gcflags, compressedClassSpaceSizeArg)); 2.26 2.27 - checkUseCompressedOops(join(gcflags, classMetaspaceSizeArg), maxHeapForCompressedOops, true); 2.28 - checkUseCompressedOops(join(gcflags, classMetaspaceSizeArg), maxHeapForCompressedOops - 1, true); 2.29 - checkUseCompressedOops(join(gcflags, classMetaspaceSizeArg), maxHeapForCompressedOops + 1, false); 2.30 + checkUseCompressedOops(join(gcflags, compressedClassSpaceSizeArg), maxHeapForCompressedOops, true); 2.31 + checkUseCompressedOops(join(gcflags, compressedClassSpaceSizeArg), maxHeapForCompressedOops - 1, true); 2.32 + checkUseCompressedOops(join(gcflags, compressedClassSpaceSizeArg), maxHeapForCompressedOops + 1, false); 2.33 } 2.34 2.35 private static void checkUseCompressedOops(String[] args, long heapsize, boolean expectUseCompressedOops) throws Exception { 2.36 @@ -152,9 +152,7 @@ 2.37 2.38 boolean actualUseCompressedOops = getFlagBoolValue(" UseCompressedOops", output); 2.39 2.40 - if (expectUseCompressedOops != actualUseCompressedOops) { 2.41 - throw new RuntimeException("Expected use of compressed oops: " + expectUseCompressedOops + " but was: " + actualUseCompressedOops); 2.42 - } 2.43 + Asserts.assertEQ(expectUseCompressedOops, actualUseCompressedOops); 2.44 } 2.45 2.46 private static boolean getFlagBoolValue(String flag, String where) { 2.47 @@ -162,7 +160,7 @@ 2.48 if (!m.find()) { 2.49 throw new RuntimeException("Could not find value for flag " + flag + " in output string"); 2.50 } 2.51 - String match = m.group(1).equals("true"); 2.52 + return m.group(1).equals("true"); 2.53 } 2.54 2.55 private static String expect(String[] flags, boolean hasWarning, boolean hasError, int errorcode) throws Exception {