view patches/openjdk/6840152-jvm_crashes_with_heavyweight_monitors.patch @ 2922:c8b86d52aabc

Add backport for HotSpot suggested by Xerxes. 2013-03-26 Andrew John Hughes <gnu.andrew@redhat.com> * Makefile.am: (ICEDTEA_PATCHES): Add new backport. * patches/openjdk/6840152-jvm_crashes_with_heavyweight_monitors.patch: Backport suggested by Xerxes for hs20.
author Andrew John Hughes <gnu.andrew@redhat.com>
date Tue, 03 Sep 2013 15:52:04 +0100
parents
children
line wrap: on
line source

# HG changeset patch
# User coleenp
# Date 1297874084 18000
# Node ID c08677f982895c7e89d370768ec261c00b0d6e2d
# Parent  5415131bc5ab69d30d14636e414d1fa400800408
6840152: JVM crashes when heavyweight monitors are used
Summary: Turn off biased locking if !UseFastLocking or UseHeavyMonitors options are requested.
Reviewed-by: phh, never, dcubed, dholmes

diff --git a/src/share/vm/runtime/arguments.cpp b/src/share/vm/runtime/arguments.cpp
--- openjdk/hotspot/src/share/vm/runtime/arguments.cpp
+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp
@@ -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);