-
Bug
-
Resolution: Fixed
-
P3
-
11
-
b01
-
sparc
When trying to backoprt, I noticed that the test from JDK-8307572 fails on SPARC which therefore seems to be affected as well:
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/workspace/open/src/hotspot/cpu/sparc/register_sparc.hpp:194), pid=1486, tid=13
# assert(c < 64 && (c & 1) == 0) failed: bad double float register
Current CompileTask:
C2: 22011 779 b compiler.c2.aarch64.TestIntrinsicsRegStress::checkCompress (625 bytes)
Stack: [0xffffffff61600000,0xffffffff61700000], sp=0xffffffff616fa610, free space=1001k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x24e12c0] void VMError::report_and_die(int,const char*,const char*,void*,Thread*,unsigned char*,void*,void*,const char*,int,unsigned long)+0xa60
V [libjvm.so+0x24e07ec] void VMError::report_and_die(Thread*,void*,const char*,int,const char*,const char*,void*)+0x3c
V [libjvm.so+0x155d370] void report_vm_error(const char*,int,const char*,const char*,...)+0x80
V [libjvm.so+0xeffd18] int FloatRegisterImpl::encoding(FloatRegisterImpl::Width)const+0x118
V [libjvm.so+0x1e1fee0] void MacroAssembler::string_compress_16(RegisterImpl*,RegisterImpl*,RegisterImpl*,RegisterImpl*,RegisterImpl*,RegisterImpl*,RegisterImpl*,RegisterImpl*,FloatRegisterImpl*,FloatRegisterImpl*,FloatRegisterImpl*,Label&)+0x1080
V [libjvm.so+0xed9c78] void string_compress_fastNode::emit(CodeBuffer&,PhaseRegAlloc*)const+0x718
V [libjvm.so+0x143daa0] unsigned Compile::scratch_emit_size(const Node*)+0x350
V [libjvm.so+0x2031e04] void Compile::shorten_branches(unsigned*,int&,int&,int&)+0x4d4
V [libjvm.so+0x2034c24] CodeBuffer*Compile::init_buffer(unsigned*)+0x374
V [libjvm.so+0x2031288] void Compile::Output()+0x798
V [libjvm.so+0x144b994] void Compile::Code_Gen()+0x7f4
V [libjvm.so+0x143ef18] Compile::Compile #Nvariant 1(ciEnv*,C2Compiler*,ciMethod*,int,bool,bool,bool,bool,DirectiveSet*)+0x12a8
V [libjvm.so+0x122fdb4] void C2Compiler::compile_method(ciEnv*,ciMethod*,int,DirectiveSet*)+0x174
V [libjvm.so+0x1466ef4] void CompileBroker::invoke_compiler_on_method(CompileTask*)+0x564
V [libjvm.so+0x1465d18] void CompileBroker::compiler_thread_loop()+0x3e8
V [libjvm.so+0x23da694] void JavaThread::thread_main_inner()+0x2e4
V [libjvm.so+0x23d2420] void Thread::call_run()+0x130
V [libjvm.so+0x2014b64] thread_native_entry+0x3f4
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/workspace/open/src/hotspot/cpu/sparc/register_sparc.hpp:194), pid=1486, tid=13
# assert(c < 64 && (c & 1) == 0) failed: bad double float register
Current CompileTask:
C2: 22011 779 b compiler.c2.aarch64.TestIntrinsicsRegStress::checkCompress (625 bytes)
Stack: [0xffffffff61600000,0xffffffff61700000], sp=0xffffffff616fa610, free space=1001k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x24e12c0] void VMError::report_and_die(int,const char*,const char*,void*,Thread*,unsigned char*,void*,void*,const char*,int,unsigned long)+0xa60
V [libjvm.so+0x24e07ec] void VMError::report_and_die(Thread*,void*,const char*,int,const char*,const char*,void*)+0x3c
V [libjvm.so+0x155d370] void report_vm_error(const char*,int,const char*,const char*,...)+0x80
V [libjvm.so+0xeffd18] int FloatRegisterImpl::encoding(FloatRegisterImpl::Width)const+0x118
V [libjvm.so+0x1e1fee0] void MacroAssembler::string_compress_16(RegisterImpl*,RegisterImpl*,RegisterImpl*,RegisterImpl*,RegisterImpl*,RegisterImpl*,RegisterImpl*,RegisterImpl*,FloatRegisterImpl*,FloatRegisterImpl*,FloatRegisterImpl*,Label&)+0x1080
V [libjvm.so+0xed9c78] void string_compress_fastNode::emit(CodeBuffer&,PhaseRegAlloc*)const+0x718
V [libjvm.so+0x143daa0] unsigned Compile::scratch_emit_size(const Node*)+0x350
V [libjvm.so+0x2031e04] void Compile::shorten_branches(unsigned*,int&,int&,int&)+0x4d4
V [libjvm.so+0x2034c24] CodeBuffer*Compile::init_buffer(unsigned*)+0x374
V [libjvm.so+0x2031288] void Compile::Output()+0x798
V [libjvm.so+0x144b994] void Compile::Code_Gen()+0x7f4
V [libjvm.so+0x143ef18] Compile::Compile #Nvariant 1(ciEnv*,C2Compiler*,ciMethod*,int,bool,bool,bool,bool,DirectiveSet*)+0x12a8
V [libjvm.so+0x122fdb4] void C2Compiler::compile_method(ciEnv*,ciMethod*,int,DirectiveSet*)+0x174
V [libjvm.so+0x1466ef4] void CompileBroker::invoke_compiler_on_method(CompileTask*)+0x564
V [libjvm.so+0x1465d18] void CompileBroker::compiler_thread_loop()+0x3e8
V [libjvm.so+0x23da694] void JavaThread::thread_main_inner()+0x2e4
V [libjvm.so+0x23d2420] void Thread::call_run()+0x130
V [libjvm.so+0x2014b64] thread_native_entry+0x3f4
- relates to
-
JDK-6833573 C2 sparc: assert(c < 64 && (c & 1) == 0,"bad double float register")
- Closed
-
JDK-8307572 AArch64: Vector registers are clobbered by some macroassemblers
- Closed