Merge
authorcoleenp
Wed, 16 Feb 2011 16:25:57 -0800
changeset 8311 39d37eed5241
parent 8310 d7c285113f48 (current diff)
parent 8309 e5c9c706242b (diff)
child 8312 f33f2a40af7f
Merge
--- a/hotspot/src/share/vm/runtime/arguments.cpp	Wed Feb 16 17:12:31 2011 -0500
+++ b/hotspot/src/share/vm/runtime/arguments.cpp	Wed Feb 16 16:25:57 2011 -0800
@@ -3103,6 +3103,19 @@
   // Set flags if Aggressive optimization flags (-XX:+AggressiveOpts) enabled.
   set_aggressive_opts_flags();
 
+  // Turn off biased locking for locking debug mode flags,
+  // which are subtlely different from each other but neither works with
+  // biased locking.
+  if (!UseFastLocking || UseHeavyMonitors) {
+    if (!FLAG_IS_DEFAULT(UseBiasedLocking) && UseBiasedLocking) {
+      // flag set to true on command line; warn the user that they
+      // can't enable biased locking here
+      warning("Biased Locking is not supported with locking debug flags"
+              "; ignoring UseBiasedLocking flag." );
+    }
+    UseBiasedLocking = false;
+  }
+
 #ifdef CC_INTERP
   // Clear flags not supported by the C++ interpreter
   FLAG_SET_DEFAULT(ProfileInterpreter, false);