# HG changeset patch # User Christian Humer # Date 1363201216 -3600 # Node ID ac2204c05a02f546bd4d151cabfc621d58432c1f # Parent 4c0d72c9879761d3fd27f7beb53ae2b7f038286c UseSpecializations is now turned off for the generic specialization in WriteLocalNode. diff -r 4c0d72c98797 -r ac2204c05a02 graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/NodeFactory.java --- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/NodeFactory.java Wed Mar 13 19:59:09 2013 +0100 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/NodeFactory.java Wed Mar 13 20:00:16 2013 +0100 @@ -27,8 +27,11 @@ import java.util.*; import com.oracle.truffle.api.frame.*; +import com.oracle.truffle.sl.nodes.ArithmeticNodeFactory.AddNodeFactory; +import com.oracle.truffle.sl.nodes.ArithmeticNodeFactory.DivNodeFactory; +import com.oracle.truffle.sl.nodes.ArithmeticNodeFactory.MulNodeFactory; +import com.oracle.truffle.sl.nodes.ArithmeticNodeFactory.SubNodeFactory; import com.oracle.truffle.sl.nodes.*; -import com.oracle.truffle.sl.nodes.ArithmeticNodeFactory.*; public class NodeFactory { diff -r 4c0d72c98797 -r ac2204c05a02 graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/ArithmeticNode.java --- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/ArithmeticNode.java Wed Mar 13 19:59:09 2013 +0100 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/ArithmeticNode.java Wed Mar 13 20:00:16 2013 +0100 @@ -66,11 +66,6 @@ String add(Object left, Object right) { return left.toString() + right.toString(); } - - @Generic - public Object addGeneric(Object left, Object right) { - throw new RuntimeException("Arithmetic not defined for types " + left.getClass().getSimpleName() + ", " + right.getClass().getSimpleName()); - } } public abstract static class SubNode extends ArithmeticNode { @@ -93,10 +88,6 @@ return left.subtract(right); } - @Generic - public Object sub(Object left, Object right) { - throw new RuntimeException("Arithmetic not defined for types " + left.getClass().getSimpleName() + ", " + right.getClass().getSimpleName()); - } } public abstract static class DivNode extends ArithmeticNode { @@ -118,11 +109,6 @@ BigInteger div(BigInteger left, BigInteger right) { return left.divide(right); } - - @Generic - public Object div(Object left, Object right) { - throw new RuntimeException("Arithmetic not defined for types " + left.getClass().getSimpleName() + ", " + right.getClass().getSimpleName()); - } } public abstract static class MulNode extends ArithmeticNode { @@ -145,10 +131,6 @@ return left.multiply(right); } - @Generic - public Object mul(Object left, Object right) { - throw new RuntimeException("Arithmetic not defined for types " + left.getClass().getSimpleName() + ", " + right.getClass().getSimpleName()); - } } } diff -r 4c0d72c98797 -r ac2204c05a02 graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/WriteLocalNode.java --- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/WriteLocalNode.java Wed Mar 13 19:59:09 2013 +0100 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/WriteLocalNode.java Wed Mar 13 20:00:16 2013 +0100 @@ -64,7 +64,7 @@ return right; } - @Generic + @Generic(useSpecializations = false) public Object write(VirtualFrame frame, Object right) { frame.setObject(slot, right); return right;