< prev index next >

src/hotspot/share/runtime/arguments.cpp

Print this page
*** 3669,10 ***
--- 3669,14 ---
  #ifdef _LP64
    if (UseCompactObjectHeaders && FLAG_IS_CMDLINE(UseCompressedClassPointers) && !UseCompressedClassPointers) {
      warning("Compact object headers require compressed class pointers. Disabling compact object headers.");
      FLAG_SET_DEFAULT(UseCompactObjectHeaders, false);
    }
+   if (UseCompactObjectHeaders && UseParallelGC) {
+     warning("Parallel GC is currently not compatible with compact object headers (due to identity hash-code). Disabling compact object headers.");
+     FLAG_SET_DEFAULT(UseCompactObjectHeaders, false);
+   }
    if (UseCompactObjectHeaders && !UseObjectMonitorTable) {
      // If UseCompactObjectHeaders is on the command line, turn on UseObjectMonitorTable.
      if (FLAG_IS_CMDLINE(UseCompactObjectHeaders)) {
        FLAG_SET_DEFAULT(UseObjectMonitorTable, true);
  

*** 3688,10 ***
--- 3692,13 ---
      FLAG_SET_DEFAULT(LockingMode, LM_LIGHTWEIGHT);
    }
    if (UseCompactObjectHeaders && !UseCompressedClassPointers) {
      FLAG_SET_DEFAULT(UseCompressedClassPointers, true);
    }
+   if (UseCompactObjectHeaders && FLAG_IS_DEFAULT(hashCode)) {
+     hashCode = 6;
+   }
  #endif
  }
  
  jint Arguments::apply_ergo() {
    // Set flags based on ergonomics.
< prev index next >