diff --git a/src/share/vm/runtime/arguments.cpp b/src/share/vm/runtime/arguments.cpp index 2e1ac1e1655cae93bcb32df7a83030133990df3a..e996510bb1ea5904cbdd294d6475353096ed0d81 100644 --- a/src/share/vm/runtime/arguments.cpp +++ b/src/share/vm/runtime/arguments.cpp @@ -2979,6 +2979,13 @@ jint Arguments::parse(const JavaVMInitArgs* args) { UseCompressedOops = false; #endif +#if defined(_LP64) + if ((DumpSharedSpaces || RequireSharedSpaces) && UseCompressedOops) { + // Disable compressed oops with shared spaces + UseCompressedOops = false; + } +#endif + // Set object alignment values. set_object_alignment(); diff --git a/src/share/vm/runtime/globals.hpp b/src/share/vm/runtime/globals.hpp index 8395bf9a373e48b21a6e74f4c09359a8ab483ff5..12e102185102b06d980866bbf9503164dd906865 100644 --- a/src/share/vm/runtime/globals.hpp +++ b/src/share/vm/runtime/globals.hpp @@ -3545,7 +3545,7 @@ class CommandLineFlags { product(uintx, SharedDummyBlockSize, 512*M, \ "Size of dummy block used to shift heap addresses (in bytes)") \ \ - product(uintx, SharedReadWriteSize, 12*M, \ + product(uintx, SharedReadWriteSize, NOT_LP64(12*M) LP64_ONLY(13*M), \ "Size of read-write space in permanent generation (in bytes)") \ \ product(uintx, SharedReadOnlySize, 10*M, \