# HG changeset patch # User Christian Humer # Date 1419892743 -3600 # Node ID 301fea50e42eacb1a161ad892c6f181a846294d3 # Parent 0ef23ff7d5a1a6a56b99e5a0abd5b2345aeb2af0 SL: migrate SL to use @GenerateNodeFactory. diff -r 0ef23ff7d5a1 -r 301fea50e42e graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLBuiltinNode.java --- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLBuiltinNode.java Mon Dec 29 23:38:59 2014 +0100 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLBuiltinNode.java Mon Dec 29 23:39:03 2014 +0100 @@ -41,6 +41,7 @@ */ @NodeChild(value = "arguments", type = SLExpressionNode[].class) @NodeField(name = "context", type = SLContext.class) +@GenerateNodeFactory public abstract class SLBuiltinNode extends SLExpressionNode { public SLBuiltinNode(SourceSection src) { diff -r 0ef23ff7d5a1 -r 301fea50e42e graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/expression/SLAddNode.java --- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/expression/SLAddNode.java Mon Dec 29 23:38:59 2014 +0100 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/expression/SLAddNode.java Mon Dec 29 23:39:03 2014 +0100 @@ -38,8 +38,8 @@ * Type specialization on the input values is essential for the performance. This is achieved via * node rewriting: specialized subclasses handle just a single type, so that the generic node that * can handle all types is used only in cases where different types were encountered. The subclasses - * are automatically generated by the Truffle DSL. In addition, a {@link SLAddNodeFactory factory - * class} is generated that provides, e.g., {@link SLAddNodeFactory#create node creation}. + * are automatically generated by the Truffle DSL. In addition, a {@link SLAddNodeGen factory class} + * is generated that provides, e.g., {@link SLAddNodeGen#create node creation}. */ @NodeInfo(shortName = "+") public abstract class SLAddNode extends SLBinaryNode { diff -r 0ef23ff7d5a1 -r 301fea50e42e graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/SLNodeFactory.java --- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/SLNodeFactory.java Mon Dec 29 23:38:59 2014 +0100 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/SLNodeFactory.java Mon Dec 29 23:39:03 2014 +0100 @@ -235,29 +235,29 @@ final SourceSection src = source.createSection(opToken.val, start, length); switch (opToken.val) { case "+": - return SLAddNodeFactory.create(src, leftNode, rightNode); + return SLAddNodeGen.create(src, leftNode, rightNode); case "*": - return SLMulNodeFactory.create(src, leftNode, rightNode); + return SLMulNodeGen.create(src, leftNode, rightNode); case "/": - return SLDivNodeFactory.create(src, leftNode, rightNode); + return SLDivNodeGen.create(src, leftNode, rightNode); case "-": - return SLSubNodeFactory.create(src, leftNode, rightNode); + return SLSubNodeGen.create(src, leftNode, rightNode); case "<": - return SLLessThanNodeFactory.create(src, leftNode, rightNode); + return SLLessThanNodeGen.create(src, leftNode, rightNode); case "<=": - return SLLessOrEqualNodeFactory.create(src, leftNode, rightNode); + return SLLessOrEqualNodeGen.create(src, leftNode, rightNode); case ">": - return SLLogicalNotNodeFactory.create(src, SLLessOrEqualNodeFactory.create(null, leftNode, rightNode)); + return SLLogicalNotNodeGen.create(src, SLLessOrEqualNodeGen.create(null, leftNode, rightNode)); case ">=": - return SLLogicalNotNodeFactory.create(src, SLLessThanNodeFactory.create(null, leftNode, rightNode)); + return SLLogicalNotNodeGen.create(src, SLLessThanNodeGen.create(null, leftNode, rightNode)); case "==": - return SLEqualNodeFactory.create(src, leftNode, rightNode); + return SLEqualNodeGen.create(src, leftNode, rightNode); case "!=": - return SLLogicalNotNodeFactory.create(src, SLEqualNodeFactory.create(null, leftNode, rightNode)); + return SLLogicalNotNodeGen.create(src, SLEqualNodeGen.create(null, leftNode, rightNode)); case "&&": - return SLLogicalAndNodeFactory.create(src, leftNode, rightNode); + return SLLogicalAndNodeGen.create(src, leftNode, rightNode); case "||": - return SLLogicalOrNodeFactory.create(src, leftNode, rightNode); + return SLLogicalOrNodeGen.create(src, leftNode, rightNode); default: throw new RuntimeException("unexpected operation: " + opToken.val); } @@ -290,7 +290,7 @@ lexicalScope.locals.put(nameToken.val, frameSlot); final int start = nameToken.charPos; final int length = valueNode.getSourceSection().getCharEndIndex() - start; - return SLWriteLocalVariableNodeFactory.create(source.createSection("=", start, length), valueNode, frameSlot); + return SLWriteLocalVariableNodeGen.create(source.createSection("=", start, length), valueNode, frameSlot); } /** @@ -310,7 +310,7 @@ final SourceSection src = srcFromToken(nameToken); if (frameSlot != null) { /* Read of a local variable. */ - return SLReadLocalVariableNodeFactory.create(src, frameSlot); + return SLReadLocalVariableNodeGen.create(src, frameSlot); } else { /* Read of a global name. In our language, the only global names are functions. */ return new SLFunctionLiteralNode(src, context.getFunctionRegistry().lookup(nameToken.val));