JDK-6239807 : Add check for additional features on x86
Type:Enhancement
Component:hotspot
Sub-Component:compiler
Affected Version:6
Priority:P4
Status:Resolved
Resolution:Fixed
OS:solaris_9
CPU:sparc
Submitted:2005-03-12
Updated:2010-04-03
Resolved:2005-04-06
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.
Need check for AMD features on x86: 3dnow, prefetchw.
Also add check for SSE3.
###@###.### 2005-03-12 00:40:11 GMT
Comments
EVALUATION
Need checks for AMD features on x86 (32-bits): 3dnow, prefetchw.
Check SSE3 for future use.
###@###.### 2005-04-01 00:06:16 GMT
01-04-2005
SUGGESTED FIX
Webrev: http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/main/c2_baseline/2005/20050329164723.kvn.6239807/workspace/webrevs/webrev-2005.03.29/index.html
Check the result of CPUID instruction for AMD features
(the code was taken from the amd64 port).
Use this information to generate correspondent most efficient
heap allocation prefetch instruction on x86:
Pentium 3 - prefetcht2 128
Pentium 4 - prefetchnta 512
Athlon - prefetchw 128
Opteron - prefetchw 386
And don't generate any prefetching instructions when SSE or 3DNow
are not supported (after the fix for 6229114 we are generating
CMP EAX,(mem+dist) which could reference outside a heap).
Add check for SSE3 (change 'UseSSE==2' to 'UseSSE>=2').
It is only check - the preparation for the future use of
SSE3 instructions.
Note: I also did the experiment with GC prefetching but didn't
see improvement since you have to generate the sse check
in addition to a prefetch instruction.
###@###.### 2005-04-01 00:06:16 GMT