Request for reviews (M): 6462850: generate biased locking code in C2 ideal graph
Vladimir Kozlov
Vladimir.Kozlov at Sun.COM
Thu Oct 30 11:20:31 PDT 2008
http://webrev.invokedynamic.info/kvn/6462850/index.html
Fixed 6462850: generate biased locking code in C2 ideal graph
Problem:
Currently biased [un]locking code is the part of the assembler
implementation FastLock/FastUnlock mach nodes.
As result it places a pressure on Register Allocator and
not executed code (from CAS-locking) could be generated
in a hot code path.
Solution:
- Generate biased locking code in C2 ideal graph during
macro nodes expansion.
- Add new ideal node StoreXConditional for cas stores
into an object's mark word.
- Allow tlsLoadP mach node to return a value in any P
register on x86 32-bits (instead of only EAX).
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.
Reviewed by:
Fix verified (y/n): y, generated code, improved jbb score on all platforms
Other testing:
JPRT, refworkload
More information about the hotspot-compiler-dev
mailing list