JDK-7081926 : assert(VM_Version::supports_sse2()) failed: must support
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs22
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: x86
  • Submitted: 2011-08-22
  • Updated: 2011-11-25
  • Resolved: 2011-09-30
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 JDK 8 Other
6u32Fixed 7u2Fixed 8Fixed hs22Fixed
Related Reports
Relates :  
Description
Regression after my fix for 7079329: Adjust allocation prefetching for T4. The failure happened when VM runs on old Pentium III which does not have SSE2:

CPU:total 2 (1 cores per cpu, 1 threads per core) family 6 model 11 stepping 1, cmov, cx8, fxsr, mmx, sse

V  [libjvm.so+0xb1528e]  void report_vm_error(const char*,int,const char*,const char*)+0x53a;;  void report_vm_error(const char*,int,const char*,const char*)+0x53a
V  [libjvm.so+0x4bc98d]  void Assembler::prefetchnta(Address)+0x179;;  void Assembler::prefetchnta(Address)+0x179
V  [libjvm.so+0x27ca91]  void prefetchAllocNTANode::emit(CodeBuffer&,PhaseRegAlloc*)const+0x159;;  void prefetchAllocNTANode::emit(CodeBuffer&,PhaseRegAlloc*)const+0x159
V  [libjvm.so+0x9cb287]  unsigned Compile::scratch_emit_size(const Node*)+0x42b;;  unsigned Compile::scratch_emit_size(const Node*)+0x42b
V  [libjvm.so+0x164a58a]  unsigned MachNode::size(PhaseRegAlloc*)const+0x2e;;  unsigned MachNode::size(PhaseRegAlloc*)const+0x2e
V  [libjvm.so+0x18ff7b9]  void Compile::shorten_branches(unsigned*,int&,int&,int&)+0x491;;  void Compile::shorten_branches(unsigned*,int&,int&,int&)+0x491
V  [libjvm.so+0x1903673]  CodeBuffer*Compile::init_buffer(unsigned*)+0x333;;  CodeBuffer*Compile::init_buffer(unsigned*)+0x333
V  [libjvm.so+0x18fe509]  void Compile::Output()+0x925;;  void Compile::Output()+0x925
V  [libjvm.so+0x9d6753]  void Compile::Code_Gen()+0x753;;  void Compile::Code_Gen()+0x753

Comments
EVALUATION See main CR
12-09-2011

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/a594deb1d6dc
23-08-2011

EVALUATION Changes in 7079329 (use MacroAssembler prefetch instructions in x86 .ad files) exposed typo in this assert, prefetchnta is supported since SSE not SSE2: void Assembler::prefetchnta(Address src) { NOT_LP64(assert(VM_Version::supports_sse2(), "must support"));
22-08-2011