Mercurial > hg > truffle
diff src/cpu/x86/vm/graalRuntime_x86.cpp @ 9581:d84ea522800e
replaced arithmetic_[fd]rem stubs with inline compiled code (GRAAL-81)
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Mon, 06 May 2013 22:07:48 +0200 |
parents | ffd3d85e055f |
children | 5f9c41cd3b1e |
line wrap: on
line diff
--- a/src/cpu/x86/vm/graalRuntime_x86.cpp Mon May 06 21:00:20 2013 +0200 +++ b/src/cpu/x86/vm/graalRuntime_x86.cpp Mon May 06 22:07:48 2013 +0200 @@ -697,48 +697,6 @@ break; } - case arithmetic_frem_id: { - __ subptr(rsp, 8); - __ movflt(Address(rsp, 0), xmm1); - __ fld_s(Address(rsp, 0)); - __ movflt(Address(rsp, 0), xmm0); - __ fld_s(Address(rsp, 0)); - Label L; - __ bind(L); - __ fprem(); - __ fwait(); - __ fnstsw_ax(); - __ testl(rax, 0x400); - __ jcc(Assembler::notZero, L); - __ fxch(1); - __ fpop(); - __ fstp_s(Address(rsp, 0)); - __ movflt(xmm0, Address(rsp, 0)); - __ addptr(rsp, 8); - __ ret(0); - break; - } - case arithmetic_drem_id: { - __ subptr(rsp, 8); - __ movdbl(Address(rsp, 0), xmm1); - __ fld_d(Address(rsp, 0)); - __ movdbl(Address(rsp, 0), xmm0); - __ fld_d(Address(rsp, 0)); - Label L; - __ bind(L); - __ fprem(); - __ fwait(); - __ fnstsw_ax(); - __ testl(rax, 0x400); - __ jcc(Assembler::notZero, L); - __ fxch(1); - __ fpop(); - __ fstp_d(Address(rsp, 0)); - __ movdbl(xmm0, Address(rsp, 0)); - __ addptr(rsp, 8); - __ ret(0); - break; - } case monitorenter_id: { Register obj = j_rarg0; Register lock = j_rarg1;