United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6462850 generate biased locking code in C2 ideal graph
JDK-6462850 : generate biased locking code in C2 ideal graph

Details
Type:
Enhancement
Submit Date:
2006-08-23
Status:
Resolved
Updated Date:
2010-04-03
Project Name:
JDK
Resolved Date:
2008-11-19
Component:
hotspot
OS:
solaris_10
Sub-Component:
compiler
CPU:
x86
Priority:
P4
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:
hs14 (b07)

Related Reports
Backport:
Backport:

Sub Tasks

Description
The short branches could be used in biased locking code on x86 and amd64
to reduce the code size.
Use this bug for next optimization:
Generate biased locking code in C2 ideal graph instead of
using FastLock/FastUnlock mach nodes.

                                    

Comments
EVALUATION

Improve jbb performance.
                                     
2008-10-30
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/a1980da045cc
                                     
2008-11-07
SUGGESTED FIX

Solution:
- Inline biased locking code in C2 ideal graph during
macro nodes expansion. Use new flag UseOptoBiasInlining to gate
new code. Set the flag ON by default.
- Add new ideal node StoreIConditional and use existing
StoreLConditional node for cas stores into object's mark word.
Fix implementation of StoreLConditional for that.
- Allow tlsLoadP mach node to return a value in any P
register on x86 32-bits (instead of only EAX).
- Added new OR mach node to avoid casting of TLS pointer.

Additional fixes:
- Delay a memory node igvn transformation until its address
is processed (the fix for the problem described in 6759776).
- Add missing check for the lock code on x86 into
Assembler::locate_operand().
- Pin a SafePointScalarObject node to the control edge of
the SafePoint node for which it was generated.
- Fix size's format in OutOfMemoryError message.
                                     
2008-11-07



Hardware and Software, Engineered to Work Together