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.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u14Fixed 7Fixed hs14Fixed
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.

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.

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/2649e5276dd7

EVALUATION see comment.