disable JDK-8061553 optimization while JDK-8077392 is resolved (8079359)
Daniel D. Daugherty
daniel.daugherty at oracle.com
Tue May 5 17:06:22 UTC 2015
Greetings,
The following bug fix:
JDK-8061553 Contended Locking fast enter bucket
is causing intermittent hangs in JDK9-dev testing. That hang is
being tracked by the following bug:
JDK-8077392 Stream fork/join tasks occasionally fail to complete
In order to make the JDK9-dev nightly testing more stable,
I would like to disable the JDK-8061553 optimization until
I resolve JDK-8077392.
I'm targeting this fix for JDK9-dev directly instead of going
through the usual process of:
push fix -> RT_Baseline
RT_Baseline -> Main_Baseline
Main_Baseline -> JDK9-dev
in order to get JDK9-dev stable more quickly.
Lana and Alejandro, please let me know if either of you has
a problem with this out-of-band work around.
Dan
-------- Original Message --------
Subject: [JBS] (JDK-8079359) disable JDK-8061553 optimization while
JDK-8077392 is resolved
Date: Tue, 5 May 2015 16:59:40 +0000 (UTC)
From: Daniel Daugherty (JBS) <do-not-reply at openjdk.java.net>
To: daniel.daugherty at oracle.com
Daniel Daugherty
<https://bugs.openjdk.java.net/secure/ViewProfile.jspa?name=dcubed>
started work on Bug JDK-8079359
<https://bugs.openjdk.java.net/browse/JDK-8079359>
*disable JDK-8061553 optimization while JDK-8077392 is resolved*
<https://bugs.openjdk.java.net/browse/JDK-8079359>
Here is the proposed change:
$ hg diff
diff -r a0df4738688e src/share/vm/runtime/sharedRuntime.cpp
--- a/src/share/vm/runtime/sharedRuntime.cpp Sat May 02 00:16:29 2015 -0700
+++ b/src/share/vm/runtime/sharedRuntime.cpp Tue May 05 09:57:09 2015 -0700
@@ -1793,7 +1793,9 @@ JRT_END
// Handles the uncommon case in locking, i.e., contention or an
inflated lock.
JRT_BLOCK_ENTRY(void,
SharedRuntime::complete_monitor_locking_C(oopDesc* _obj, BasicLock*
lock, JavaThread* thread))
- if (!SafepointSynchronize::is_synchronizing()) {
+ // Disable ObjectSynchronizer::quick_enter() in default config
+ // until JDK-8077392
<https://bugs.openjdk.java.net/browse/JDK-8077392> is resolved.
+ if ((SyncFlags & 256) != 0 &&
!SafepointSynchronize::is_synchronizing()) {
// Only try quick_enter() if we're not trying to reach a safepoint
// so that the calling thread reaches the safepoint more quickly.
if (ObjectSynchronizer::quick_enter(_obj, thread, lock)) return;
*Change By:* Daniel Daugherty
<https://bugs.openjdk.java.net/secure/ViewProfile.jspa?name=dcubed>
(2015-05-05 09:57)
*Status:* Open In Progress
*Understanding:* Cause Known
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA
administrators
<https://bugs.openjdk.java.net/secure/ContactAdministrators%21default.jspa>
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hotspot-runtime-dev
mailing list