Mercurial > hg > truffle
changeset 8254:ac2204c05a02
UseSpecializations is now turned off for the generic specialization in WriteLocalNode.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Wed, 13 Mar 2013 20:00:16 +0100 |
parents | 4c0d72c98797 |
children | 1384c39e2c53 |
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/WriteLocalNode.java |
diffstat | 3 files changed, 5 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- 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 {
--- 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()); - } } }
--- 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;