JDK-6532536 : Optimize arraycopy stubs for Intel cpus
Type:Enhancement
Component:hotspot
Sub-Component:compiler
Affected Version:7
Priority:P3
Status:Resolved
Resolution:Fixed
OS:solaris_10
CPU:x86
Submitted:2007-03-08
Updated:2010-04-03
Resolved:2008-11-04
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.
Intel cpus very sensitive to data moves alignment.
Arraycopy stubs have to be fixed to avoid such misalignment
for these hardware.
SSE2 movdqu nstruction performance was greatly improved on newest Intel's cpus.
Comments
SUGGESTED FIX
- Use SSE2 movdqu in arraycopy stubs on newest Intel's cpus since
the instruction performance was greatly improved. It allows
to skip the code which align a copy source address.
- Use SSE2 movq instruction instead of MMX on Intel's Core2 cpus.
- Add CPUID check for newest Intel's cpus.
- Fix a cpu model number calculation.