Mercurial > hg > truffle
changeset 7249:3af2fcc319f1
use Kind.Void for ReturnNode, not the return value kind
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Mon, 17 Dec 2012 17:35:04 +0100 |
parents | cccec951cb76 |
children | 01e3daf8569b |
files | graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ReturnNode.java |
diffstat | 2 files changed, 3 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java Mon Dec 17 16:02:43 2012 +0100 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java Mon Dec 17 17:35:04 2012 +0100 @@ -517,8 +517,8 @@ @Override public void visitReturn(ReturnNode x) { Value operand = Value.ILLEGAL; - if (x.kind() != Kind.Void) { - operand = resultOperandFor(x.kind()); + if (x.result() != null) { + operand = resultOperandFor(x.result().kind()); emitMove(operand(x.result()), operand); } emitReturn(operand);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ReturnNode.java Mon Dec 17 16:02:43 2012 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ReturnNode.java Mon Dec 17 17:35:04 2012 +0100 @@ -40,13 +40,12 @@ * @param result the instruction producing the result for this return; {@code null} if this is a void return */ public ReturnNode(ValueNode result) { - super(result == null ? StampFactory.forVoid() : result.stamp()); + super(StampFactory.forVoid()); this.result = result; } @Override public boolean verify() { - assertTrue((result == null && stamp() == StampFactory.forVoid()) || (result != null && kind() == result.kind()), "invalid stamp"); return super.verify(); }