changeset 21306:335374eed0da

LIRKind#verifyMoveKinds: relax stack kind comparison.
author Josef Eisl <josef.eisl@jku.at>
date Mon, 11 May 2015 14:43:58 +0200
parents 951ecb5473c3
children 34a4509f9ee9
files graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/LIRKind.java
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/LIRKind.java	Mon May 11 14:36:16 2015 +0200
+++ b/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/LIRKind.java	Mon May 11 14:43:58 2015 +0200
@@ -282,7 +282,12 @@
         if (src.equals(dst)) {
             return true;
         }
-        if (toStackKind(src.getPlatformKind()).equals(dst.getPlatformKind())) {
+        /*
+         * TODO(je,rs) What we actually want is toStackKind(src.getPlatformKind()).equals(
+         * dst.getPlatformKind()) but due to the handling of sub-integer at the current point
+         * (phi-)moves from e.g. integer to short can happen. Therefore we compare stack kinds.
+         */
+        if (toStackKind(src.getPlatformKind()).equals(toStackKind(dst.getPlatformKind()))) {
             return !src.isDerivedReference() || dst.isDerivedReference();
         }
         return false;