[aarch64-port-dev ] Internal Error (c1_LIRAssembler_aarch64.cpp:1733), pid=2545, tid=547560092176
Andrew Haley
aph at redhat.com
Thu Aug 29 09:18:51 PDT 2013
On 08/27/2013 07:56 AM, Cao Hoang Thu wrote:
> VM Arguments:
> jvm_args: -Dproc_datanode -Xmx1000m -Dcom.sun.management.jmxremote ...
> java_command: org.apache.hadoop.hdfs.server.datanode.DataNode
>
> # A fatal error has been detected by the Java Runtime Environment:
> #
> # Internal Error (c1_LIRAssembler_aarch64.cpp:1733), pid=1920, tid=546312299024
> # Error: ShouldNotReachHere()
Fixed thusly:
changeset: 4867:3a09edaa2c42
tag: tip
user: aph
date: Thu Aug 29 17:15:33 2013 +0100
files: src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp
description:
C1: Support add of obj+long
diff -r 356ebc1be1d9 -r 3a09edaa2c42 src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp
--- a/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Fri Aug 23 15:26:17 2013 +0100
+++ b/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Thu Aug 29 17:15:33 2013 +0100
@@ -1702,6 +1702,15 @@
default: ShouldNotReachHere();
}
+ } else if (right->is_double_cpu()) {
+ Register rreg = right->as_register_lo();
+ // single_cpu + double_cpu: can happen with obj+long
+ assert(code == lir_add || code == lir_sub, "mismatched arithmetic op");
+ switch (code) {
+ case lir_add: __ add(dreg, lreg, rreg); break;
+ case lir_sub: __ sub(dreg, lreg, rreg); break;
+ default: ShouldNotReachHere();
+ }
} else if (right->is_constant()) {
// cpu register - constant
jint c = right->as_constant_ptr()->as_jint();
Andrew.
More information about the aarch64-port-dev
mailing list