# HG changeset patch # User Christian Humer # Date 1361269883 -3600 # Node ID 0110e781b6faad1170bbad59e6bed37ceef8c9a7 # Parent 4cbe062678ba57c62bbe702e0a9436c13f0007db Fixed generated generic does not need an else block. diff -r 4cbe062678ba -r 0110e781b6fa graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java --- a/graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java Mon Feb 18 20:35:54 2013 +0100 +++ b/graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java Tue Feb 19 11:31:23 2013 +0100 @@ -535,14 +535,11 @@ if (next != null) { builder.end(); - builder.startElseBlock(); builder.startReturn().startCall(generatedGenericMethodName(next)); builder.string(THIS_NODE_LOCAL_VAR_NAME); addValueParameterNames(builder, next, null, true); builder.end().end(); - - builder.end(); } } diff -r 4cbe062678ba -r 0110e781b6fa graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/TernaryNode.java --- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/TernaryNode.java Mon Feb 18 20:35:54 2013 +0100 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/TernaryNode.java Tue Feb 19 11:31:23 2013 +0100 @@ -56,7 +56,14 @@ return !hasIfPart; } + @GuardCheck + public boolean demoIntegerGuard(boolean condition, boolean hasIfPart, int ifPart, boolean hasElsePart, int elsePart) { + return true; + } + @Specialization + @SpecializationGuard(methodName = "demoIntegerGuard") + @SpecializationThrows(javaClass = RuntimeException.class, transitionTo = "doBigInteger") public int doInteger(boolean condition, boolean hasIfPart, int ifPart, boolean hasElsePart, int elsePart) { return hasIfPart ? ifPart : elsePart; }