JDK-6532536 : Optimize arraycopy stubs for Intel cpus
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.
- 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.