Wed, 19 Oct 2016 15:22:23 +0800
#4659 C2: Fixed a performance bug, causing many unlock operations to go through slow path.
ObjectMonitor::owner_offset_in_bytes is a pointer to owning thread.
$ stress -c 100 -i 10
$ time java SSLEngineDeadlock
Before the patch:
real 0m29.566s
user 0m38.156s
sys 0m1.590s
After the patch:
real 0m26.213s
user 0m34.996s
sys 0m1.668s
The improvement is nearly 13%.
aoqi@0 | 1 | |
aoqi@0 | 2 | OPENJDK ASSEMBLY EXCEPTION |
aoqi@0 | 3 | |
aoqi@0 | 4 | The OpenJDK source code made available by Oracle at openjdk.java.net and |
aoqi@0 | 5 | openjdk.dev.java.net ("OpenJDK Code") is distributed under the terms of the |
aoqi@0 | 6 | GNU General Public License <http://www.gnu.org/copyleft/gpl.html> version 2 |
aoqi@0 | 7 | only ("GPL2"), with the following clarification and special exception. |
aoqi@0 | 8 | |
aoqi@0 | 9 | Linking this OpenJDK Code statically or dynamically with other code |
aoqi@0 | 10 | is making a combined work based on this library. Thus, the terms |
aoqi@0 | 11 | and conditions of GPL2 cover the whole combination. |
aoqi@0 | 12 | |
aoqi@0 | 13 | As a special exception, Oracle gives you permission to link this |
aoqi@0 | 14 | OpenJDK Code with certain code licensed by Oracle as indicated at |
aoqi@0 | 15 | http://openjdk.java.net/legal/exception-modules-2007-05-08.html |
aoqi@0 | 16 | ("Designated Exception Modules") to produce an executable, |
aoqi@0 | 17 | regardless of the license terms of the Designated Exception Modules, |
aoqi@0 | 18 | and to copy and distribute the resulting executable under GPL2, |
aoqi@0 | 19 | provided that the Designated Exception Modules continue to be |
aoqi@0 | 20 | governed by the licenses under which they were offered by Oracle. |
aoqi@0 | 21 | |
aoqi@0 | 22 | As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code to |
aoqi@0 | 23 | build an executable that includes those portions of necessary code that Oracle |
aoqi@0 | 24 | could not provide under GPL2 (or that Oracle has provided under GPL2 with the |
aoqi@0 | 25 | Classpath exception). If you modify or add to the OpenJDK code, that new |
aoqi@0 | 26 | GPL2 code may still be combined with Designated Exception Modules if the |
aoqi@0 | 27 | new code is made subject to this exception by its copyright holder. |