Request for reviews (S): 7097546: Optimize use of CMOVE instructions
Vladimir Kozlov
vladimir.kozlov at oracle.com
Fri Oct 21 16:23:50 PDT 2011
http://cr.openjdk.java.net/~kvn/7097546/webrev
7097546: Optimize use of CMOVE instructions
Avoid CMove in a loop if possible. May generate CMove if it could be moved
outside a loop. Don't generated CMoveD/CmoveF: it is expensive to compute both
float/double values + cmove. Note, on x86 when SSE>=2 (all modern cpus)
CMoveD/CMoveF mach instructions are implemented as jmp+move. Don't generated
CMove when BlockLayoutByFrequency optimization moves infrequent branch from hot
path. Added Cmove mach instructions with jmp+move to x86 when there is no HW
cmove instruction.
Main part of changes in loopopts.cpp is coding style correction.
Print size of compiled method and compilation time when PrintCompilation and
PrintInlining are specified on command line. I thought first to print it with
just PrintCompilation but it will double output.
No effect on refworkload but it will help later for 6890673 fix. Verified with
microbenchmark I wrote (attached to the bug report).
Thanks,
Vladimir
More information about the hotspot-compiler-dev
mailing list