Mercurial > hg > truffle
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;