Please review this patch which backports some Hotspot defaults for AMD's new 
Bulldozer which had already been accepted into Hotspot 21 in JDK7 General 
Release.  These defaults allow the Bulldozer processor family to get the best 
performance.

The webrev is at

  
http://cr.openjdk.java.net/~tdeneau/openjdk6-bd-defaults/webrev.01/<http://cr.openjdk.java.net/~tdeneau/3dnow-cpuid/webrev.01/>


The changes consist of:

*         default for AllocatePrefetchStyle goes to 0, that is, no SW Prefetch

*         UseXMMForArrayCopy, UseUnalignedLoadStores and UseSSE42Intrinsics 
default to true

*         changes the logic for detecting whether or not a processor supports 
the 3dnow prefetchw and prefetch instructions.   A separate CPUID bit (defined 
in about 2007) allows a processor to support 3dnow prefetch instructions 
without supporting the whole 3dnow instruction set.  The Bulldozer processors 
from AMD are the first that support 3dnow prefetch without supporting the 3dnow 
instruction set.  The logic change is really one small change in 
src/cpu/x86/vm/vm_version_x86.hpp but to clarify things I changed a function 
name from supports_3dnow() to supports_3dnow_prefetch() which is really what 
was meant all along.  This was the reason the other files changed.  I did not 
make any change in src/cpu/x86/vm/x86_64.ad since that was not checking for 
3dnow support.


-- Tom Deneau, AMD


Reply via email to