Mercurial > hg > truffle
changeset 7306:91b52ccdb8b7
Rely on deoptimization to handle x86 division exceptions
author | Christian Wimmer <christian.wimmer@oracle.com> |
---|---|
date | Mon, 07 Jan 2013 19:10:25 -0800 |
parents | cd205ca515dd |
children | c41c58f93f75 9214756f9bbf |
files | graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Arithmetic.java |
diffstat | 1 files changed, 0 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Arithmetic.java Mon Jan 07 19:08:26 2013 -0800 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Arithmetic.java Mon Jan 07 19:10:25 2013 -0800 @@ -319,22 +319,9 @@ case LDIV: case LREM: - Label continuation = new Label(); - if (opcode == LDIV) { - // check for special case of Long.MIN_VALUE / -1 - Label normalCase = new Label(); - masm.movq(AMD64.rdx, java.lang.Long.MIN_VALUE); - masm.cmpq(AMD64.rax, AMD64.rdx); - masm.jcc(ConditionFlag.notEqual, normalCase); - masm.cmpq(asRegister(src), -1); - masm.jcc(ConditionFlag.equal, continuation); - masm.bind(normalCase); - } - masm.cdqq(); exceptionOffset = masm.codeBuffer.position(); masm.idivq(asRegister(src)); - masm.bind(continuation); break; case IUDIV: