--- old/src/share/vm/runtime/arguments.cpp 2010-10-29 11:33:42.433282000 -0700 +++ new/src/share/vm/runtime/arguments.cpp 2010-10-29 11:33:42.171021000 -0700 @@ -2975,17 +2975,6 @@ PrintGC = true; } -#if defined(_LP64) && defined(COMPILER1) && !defined(TIERED) - 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(); @@ -3003,9 +2992,21 @@ // XXX JSR 292 currently does not support compressed oops. if (EnableMethodHandles && UseCompressedOops) { if (FLAG_IS_DEFAULT(UseCompressedOops) || FLAG_IS_ERGO(UseCompressedOops)) { - UseCompressedOops = false; + FLAG_SET_DEFAULT(UseCompressedOops, false); } } + +# if defined(COMPILER1) && !defined(TIERED) + FLAG_SET_DEFAULT(UseCompressedOops, false); +# endif + + if (UseCompressedOops && (DumpSharedSpaces || RequireSharedSpaces)) { + // Disable compressed oops with shared spaces when dumping and or if spaces are explicitly on + FLAG_SET_DEFAULT(UseCompressedOops, false); + } + if (UseCompressedOops && UseSharedSpaces) { + FLAG_SET_DEFAULT(UseSharedSpaces, false); // Otherwise, disable the use of CDS, leave COOPS on. + } #endif // _LP64 // Check the GC selections again.