JDK-5095421 : amd64 vm should not crash on em64t
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 5.0,5.0u1
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: generic,linux,linux_redhat_3.0
  • CPU: x86,itanium
  • Submitted: 2004-09-01
  • Updated: 2012-10-09
  • Resolved: 2004-09-24
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.
Other
5.0u1 01Fixed
Related Reports
Duplicate :  
Duplicate :  
Relates :  
Description
The amd64 vm, like the x86 vms, emits slightly different code depending
on the features supported by the platform it's running on.  This is ok,
but we shouldn't unconditionally generate opteron-only code (in the
form of prefetchw) w/o checking.  We currently do this in the inner
gc loops when invoking Prefetch::write, causing illegal instruction
faults on em64t.

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: 1.5.0_01 mustang FIXED IN: 1.5.0_01 INTEGRATED IN: 1.5.0_01
01-10-2004

PUBLIC COMMENTS Integrated the fix into Tiger Update 1 (1.5.0_01) Build 03
01-10-2004

SUGGESTED FIX Change Prefetch::write to emit prefetcht0 (which is ok on both opteron and em64t) instead of prefetchw. Change amd64.ad by replacing the prefetch pattern (currently conditioned on has_prefetchw) with a prefetcht0 pattern conditioned on !has_prefetchw and a prefetchw pattern conditioned on has_prefetchw. ###@###.### 2004-09-16
16-09-2004

EVALUATION Post tiger work ###@###.### 2004-09-02 Fixed in 1.5.0_01 ###@###.### 10/6/04 21:02 GMT
02-09-2004