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: