JDK-6537990 : Optimize multibytes NOP generation and loops alignment
Type:Enhancement
Component:hotspot
Sub-Component:compiler
Affected Version:7
Priority:P4
Status:Resolved
Resolution:Fixed
OS:solaris_10
CPU:x86
Submitted:2007-03-23
Updated:2010-04-03
Resolved:2007-05-24
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
Use '0F 01' NOP instructions.
Avoid generation of several NOPs for loop alignment if possible.
Comments
SUGGESTED FIX
Webrev: http://prt-web.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/main/c2_baseline/2007/20070501160332.kvn.6537990/workspace/webrevs/webrev-2007.05.01/index.html
Generate "address" NOPs under the product flag UseAddressNop,
for new Intel cpus the default is true otherwise it is false.
Added few C2 flags to optimize loop alignment padding generation:
MaxLoopPad - default (OptoLoopAlignment-1), for Intel == 11 (max NOP size),
generate padding if it is <= MaxLoopPad.
NumberOfLoopInstrToAlign - default 4, generate padding if it is less then
size of first NumberOfLoopInstrToAlign loop instructions.
02-05-2007
EVALUATION
Using '0F 01' NOP instruction allow to reduce the number of nop instructions.