hotspot/src/share/vm/runtime/arguments.cpp
changeset 1376 f7fc7a708b63
parent 1374 4c24294029a9
parent 613 2aa2b913106c
child 1388 3677f5f3d66b
--- a/hotspot/src/share/vm/runtime/arguments.cpp	Thu Jun 05 15:57:56 2008 -0700
+++ b/hotspot/src/share/vm/runtime/arguments.cpp	Thu Jun 12 13:50:55 2008 -0700
@@ -1171,21 +1171,18 @@
   // field offset to determine free list chunk markers.
   // Check that UseCompressedOops can be set with the max heap size allocated
   // by ergonomics.
-  if (!UseG1GC && !UseConcMarkSweepGC && MaxHeapSize <= max_heap_for_compressed_oops()) {
-    if (FLAG_IS_DEFAULT(UseCompressedOops)) {
-      FLAG_SET_ERGO(bool, UseCompressedOops, true);
+  if (MaxHeapSize <= max_heap_for_compressed_oops()) {
+    if (FLAG_IS_DEFAULT(UseCompressedOops) && !UseG1GC) {
+      // Leave compressed oops off by default. Uncomment
+      // the following line to return it to default status.
+      // FLAG_SET_ERGO(bool, UseCompressedOops, true);
+    } else if (UseCompressedOops && UseG1GC) {
+      warning(" UseCompressedOops does not currently work with UseG1GC; switching off UseCompressedOops. ");
+      FLAG_SET_DEFAULT(UseCompressedOops, false);
     }
   } else {
     if (UseCompressedOops && !FLAG_IS_DEFAULT(UseCompressedOops)) {
-      // If specified, give a warning
-      if (UseConcMarkSweepGC){
-        warning("Compressed Oops does not work with CMS");
-      } else if (UseG1GC) {
-        warning("Compressed Oops does not work with UseG1GC");
-      } else {
-        warning(
-          "Max heap size too large for Compressed Oops");
-      }
+      warning("Max heap size too large for Compressed Oops");
       FLAG_SET_DEFAULT(UseCompressedOops, false);
     }
   }
@@ -1333,6 +1330,9 @@
   if (AggressiveOpts && FLAG_IS_DEFAULT(DoEscapeAnalysis)) {
     FLAG_SET_DEFAULT(DoEscapeAnalysis, true);
   }
+  if (AggressiveOpts && FLAG_IS_DEFAULT(SpecialArraysEquals)) {
+    FLAG_SET_DEFAULT(SpecialArraysEquals, true);
+  }
 #endif
 
   if (AggressiveOpts) {