changeset 18430:9c590632d079

LIRVerifier: allow StackSlotValues for OperandFlag.STACK.
author Josef Eisl <josef.eisl@jku.at>
date Wed, 05 Nov 2014 19:29:26 +0100
parents 79268cfc256a
children 84ac6a1a0dcb
files graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/ValueUtil.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRVerifier.java
diffstat 2 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/ValueUtil.java	Wed Nov 05 19:18:35 2014 +0100
+++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/ValueUtil.java	Wed Nov 05 19:29:26 2014 +0100
@@ -80,6 +80,16 @@
         return (StackSlot) value;
     }
 
+    public static boolean isStackSlotValue(Value value) {
+        assert value != null;
+        return value instanceof StackSlotValue;
+    }
+
+    public static StackSlotValue asStackSlotValue(Value value) {
+        assert value != null;
+        return (StackSlotValue) value;
+    }
+
     public static boolean isVirtualStackSlot(Value value) {
         assert value != null;
         return value instanceof VirtualStackSlot;
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRVerifier.java	Wed Nov 05 19:18:35 2014 +0100
+++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRVerifier.java	Wed Nov 05 19:29:26 2014 +0100
@@ -226,7 +226,7 @@
     private static void allowed(Object op, Value value, OperandMode mode, EnumSet<OperandFlag> flags) {
         if ((isVariable(value) && flags.contains(OperandFlag.REG)) ||
             (isRegister(value) && flags.contains(OperandFlag.REG)) ||
-            (isStackSlot(value) && flags.contains(OperandFlag.STACK)) ||
+            (isStackSlotValue(value) && flags.contains(OperandFlag.STACK)) ||
             (isConstant(value) && flags.contains(OperandFlag.CONST) && mode != OperandMode.DEF) ||
             (isIllegal(value) && flags.contains(OperandFlag.ILLEGAL))) {
             return;