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;