changeset 9222:aa9ffb3a715e

Updated Truffle-SL to new codegen API.
author Christian Humer <christian.humer@gmail.com>
date Sat, 20 Apr 2013 12:17:27 +0200
parents 67bee207f20c
children 5f7f0d3e3638
files graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/NodeFactory.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/ArithmeticNode.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/BinaryNode.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/IfNode.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/LessThanNode.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/LogicalAndNode.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/PrintNode.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/TernaryNode.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/WriteLocalNode.java
diffstat 9 files changed, 12 insertions(+), 105 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/NodeFactory.java	Sat Apr 20 12:17:03 2013 +0200
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/NodeFactory.java	Sat Apr 20 12:17:27 2013 +0200
@@ -74,7 +74,7 @@
         if (expressions.size() >= 1) {
             StatementNode[] nodes = new StatementNode[expressions.size() + 1];
             for (int i = 0; i < expressions.size(); i++) {
-                nodes[i] = PrintNodeFactory.create(expressions.get(i), printOutput);
+                nodes[i] = PrintNodeFactory.create(printOutput, expressions.get(i));
             }
             nodes[expressions.size()] = new PrintLineNode(printOutput);
             return new BlockNode(nodes);
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/ArithmeticNode.java	Sat Apr 20 12:17:03 2013 +0200
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/ArithmeticNode.java	Sat Apr 20 12:17:27 2013 +0200
@@ -29,24 +29,8 @@
 
 public abstract class ArithmeticNode extends BinaryNode {
 
-    public ArithmeticNode(TypedNode left, TypedNode right) {
-        super(left, right);
-    }
-
-    protected ArithmeticNode(ArithmeticNode node) {
-        super(node);
-    }
-
     public abstract static class AddNode extends ArithmeticNode {
 
-        public AddNode(TypedNode left, TypedNode right) {
-            super(left, right);
-        }
-
-        protected AddNode(AddNode node) {
-            super(node);
-        }
-
         @Specialization(rewriteOn = ArithmeticException.class)
         int doInt(int left, int right) {
             return ExactMath.addExact(left, right);
@@ -70,14 +54,6 @@
 
     public abstract static class SubNode extends ArithmeticNode {
 
-        public SubNode(TypedNode left, TypedNode right) {
-            super(left, right);
-        }
-
-        protected SubNode(SubNode node) {
-            super(node);
-        }
-
         @Specialization(rewriteOn = ArithmeticException.class)
         int sub(int left, int right) {
             return ExactMath.subtractExact(left, right);
@@ -92,14 +68,6 @@
 
     public abstract static class DivNode extends ArithmeticNode {
 
-        public DivNode(TypedNode left, TypedNode right) {
-            super(left, right);
-        }
-
-        protected DivNode(DivNode node) {
-            super(node);
-        }
-
         @Specialization(rewriteOn = ArithmeticException.class)
         int div(int left, int right) {
             return left / right;
@@ -113,14 +81,6 @@
 
     public abstract static class MulNode extends ArithmeticNode {
 
-        public MulNode(TypedNode left, TypedNode right) {
-            super(left, right);
-        }
-
-        protected MulNode(MulNode node) {
-            super(node);
-        }
-
         @Specialization(rewriteOn = ArithmeticException.class)
         int mul(int left, int right) {
             return ExactMath.multiplyExact(left, right);
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/BinaryNode.java	Sat Apr 20 12:17:03 2013 +0200
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/BinaryNode.java	Sat Apr 20 12:17:27 2013 +0200
@@ -24,20 +24,7 @@
 
 import com.oracle.truffle.api.codegen.*;
 
-@ExecuteChildren({"leftNode", "rightNode"})
+@NodeChildren({@NodeChild("leftNode"), @NodeChild("rightNode")})
 public abstract class BinaryNode extends TypedNode {
 
-    @Child protected TypedNode leftNode;
-
-    @Child protected TypedNode rightNode;
-
-    public BinaryNode(TypedNode left, TypedNode right) {
-        this.leftNode = adoptChild(left);
-        this.rightNode = adoptChild(right);
-    }
-
-    public BinaryNode(BinaryNode node) {
-        this(node.leftNode, node.rightNode);
-    }
-
 }
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/IfNode.java	Sat Apr 20 12:17:03 2013 +0200
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/IfNode.java	Sat Apr 20 12:17:27 2013 +0200
@@ -25,23 +25,19 @@
 import com.oracle.truffle.api.codegen.*;
 import com.oracle.truffle.api.frame.*;
 
-@ExecuteChildren("conditionNode")
+@NodeChild(value = "conditionNode", type = ConditionNode.class)
 public abstract class IfNode extends StatementNode {
 
-    @Child protected ConditionNode conditionNode;
-
     @Child private StatementNode thenPartNode;
-
     @Child private StatementNode elsePartNode;
 
-    public IfNode(ConditionNode condition, StatementNode thenPart, StatementNode elsePart) {
-        this.conditionNode = adoptChild(condition);
+    public IfNode(StatementNode thenPart, StatementNode elsePart) {
         this.thenPartNode = adoptChild(thenPart);
         this.elsePartNode = adoptChild(elsePart);
     }
 
     protected IfNode(IfNode node) {
-        this(node.conditionNode, node.thenPartNode, node.elsePartNode);
+        this(node.thenPartNode, node.elsePartNode);
     }
 
     @Specialization
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/LessThanNode.java	Sat Apr 20 12:17:03 2013 +0200
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/LessThanNode.java	Sat Apr 20 12:17:27 2013 +0200
@@ -28,14 +28,6 @@
 
 public abstract class LessThanNode extends BinaryNode {
 
-    public LessThanNode(TypedNode left, TypedNode right) {
-        super(left, right);
-    }
-
-    public LessThanNode(LessThanNode node) {
-        this(node.leftNode, node.rightNode);
-    }
-
     @Specialization
     public boolean doInteger(int left, int right) {
         return left < right;
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/LogicalAndNode.java	Sat Apr 20 12:17:03 2013 +0200
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/LogicalAndNode.java	Sat Apr 20 12:17:27 2013 +0200
@@ -27,14 +27,6 @@
 @SuppressWarnings("unused")
 public abstract class LogicalAndNode extends BinaryNode {
 
-    public LogicalAndNode(TypedNode leftNode, TypedNode rightNode) {
-        super(leftNode, rightNode);
-    }
-
-    public LogicalAndNode(LogicalAndNode node) {
-        this(node.leftNode, node.rightNode);
-    }
-
     @ShortCircuit("rightNode")
     public boolean needsRightNode(boolean left) {
         return left;
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/PrintNode.java	Sat Apr 20 12:17:03 2013 +0200
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/PrintNode.java	Sat Apr 20 12:17:27 2013 +0200
@@ -26,19 +26,17 @@
 
 import com.oracle.truffle.api.codegen.*;
 
+@NodeChild(value = "expression", type = TypedNode.class)
 public abstract class PrintNode extends StatementNode {
 
-    @Child protected TypedNode expression;
-
     private final PrintStream output;
 
-    public PrintNode(TypedNode expression, PrintStream output) {
-        this.expression = adoptChild(expression);
+    public PrintNode(PrintStream output) {
         this.output = output;
     }
 
     public PrintNode(PrintNode node) {
-        this(node.expression, node.output);
+        this(node.output);
     }
 
     @Specialization
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/TernaryNode.java	Sat Apr 20 12:17:03 2013 +0200
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/TernaryNode.java	Sat Apr 20 12:17:27 2013 +0200
@@ -27,25 +27,9 @@
 import com.oracle.truffle.api.codegen.*;
 
 @SuppressWarnings("unused")
-@ExecuteChildren({"conditionNode", "ifPartNode", "elsePartNode"})
+@NodeChildren({@NodeChild(value = "conditionNode", type = ConditionNode.class), @NodeChild("ifPartNode"), @NodeChild("elsePartNode")})
 public abstract class TernaryNode extends TypedNode {
 
-    @Child protected ConditionNode conditionNode;
-
-    @Child protected TypedNode ifPartNode;
-
-    @Child protected TypedNode elsePartNode;
-
-    public TernaryNode(ConditionNode condition, TypedNode ifPart, TypedNode elsePart) {
-        this.conditionNode = adoptChild(condition);
-        this.ifPartNode = adoptChild(ifPart);
-        this.elsePartNode = adoptChild(elsePart);
-    }
-
-    public TernaryNode(TernaryNode condition) {
-        this(condition.conditionNode, condition.ifPartNode, condition.elsePartNode);
-    }
-
     @ShortCircuit("ifPartNode")
     public boolean needsIfPart(boolean condition) {
         return condition;
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/WriteLocalNode.java	Sat Apr 20 12:17:03 2013 +0200
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/WriteLocalNode.java	Sat Apr 20 12:17:27 2013 +0200
@@ -27,17 +27,15 @@
 import com.oracle.truffle.api.codegen.*;
 import com.oracle.truffle.api.frame.*;
 
+@NodeChild(value = "rightNode", type = TypedNode.class)
 public abstract class WriteLocalNode extends FrameSlotNode {
 
-    @Child protected TypedNode rightNode;
-
-    public WriteLocalNode(FrameSlot slot, TypedNode right) {
+    public WriteLocalNode(FrameSlot slot) {
         super(slot);
-        this.rightNode = adoptChild(right);
     }
 
     public WriteLocalNode(WriteLocalNode node) {
-        this(node.slot, node.rightNode);
+        this(node.slot);
     }
 
     @Specialization