[drlvm][jit][jet][x86-64] VM throws ArithmeticException during division on value which has
zero in low 32 bits.
---------------------------------------------------------------------------------------------------------------
Key: HARMONY-4675
URL: https://issues.apache.org/jira/browse/HARMONY-4675
Project: Harmony
Issue Type: Bug
Components: DRLVM
Reporter: Pavel Afremov
Attachments: test.java
Following test fails on x86-64 platform.
public class test {
public static void main(String[] args) {
test lock = new test();
lock.func();
}
private void func() {
try {
long test_long = 0x000000ff00000000L;
long res = test_long / test_long;
System.out.println("PASSED No exception was thrown");
} catch (Throwable e) {
System.out.println("FAILED Exception was thrown: " + e);
}
}
}
Looks like bug in JET. On Interpreter and Opt test works OK. On the JET test throw arithmetic
exception with non zero divider.
Output is following:
1. RI
$ java test
PASSED No exception was thrown
2. DRLVM default
$ ./drlvm/build/lnx_em64t_gcc_debug/deploy/jdk/jre/bin/java test
FAILED Exception was thrown: java.lang.ArithmeticException
3. DRLVM interpreter
$ ./drlvm/build/lnx_em64t_gcc_debug/deploy/jdk/jre/bin/java -Xint test
PASSED No exception was thrown
4.DRLVM jet
$ ./drlvm/build/lnx_em64t_gcc_debug/deploy/jdk/jre/bin/java -Xem:jet test
FAILED Exception was thrown: java.lang.ArithmeticException
5 DRLVM opt
$ ./drlvm/build/lnx_em64t_gcc_debug/deploy/jdk/jre/bin/java -Xem:opt test
PASSED No exception was thrown
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
|