Mercurial > hg > truffle
changeset 10593:447465567e6f
Truffle-DSL: API change: removed useSpecializations in @Generic. The way of specifying this behaviour now is to create a @Specialization which won't rewrite. This way there is no generic case anymore which could use the specializations for its implementation.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Mon, 01 Jul 2013 20:28:37 +0200 |
parents | 99b58803d6d9 |
children | 72e6b178de16 |
files | graal/com.oracle.truffle.api.codegen/src/com/oracle/truffle/api/codegen/Generic.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/FrameSlotNode.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/PrintNode.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/ReadLocalNode.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 | 7 files changed, 6 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.api.codegen/src/com/oracle/truffle/api/codegen/Generic.java Mon Jul 01 20:24:49 2013 +0200 +++ b/graal/com.oracle.truffle.api.codegen/src/com/oracle/truffle/api/codegen/Generic.java Mon Jul 01 20:28:37 2013 +0200 @@ -31,6 +31,4 @@ @Target({ElementType.METHOD}) public @interface Generic { - boolean useSpecializations() default true; - }
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/FrameSlotNode.java Mon Jul 01 20:24:49 2013 +0200 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/FrameSlotNode.java Mon Jul 01 20:28:37 2013 +0200 @@ -32,5 +32,4 @@ this.slot = slot; } - protected abstract FrameSlotNode specialize(Class<?> clazz); }
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/LessThanNode.java Mon Jul 01 20:24:49 2013 +0200 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/LessThanNode.java Mon Jul 01 20:28:37 2013 +0200 @@ -42,9 +42,4 @@ public boolean doString(Object left, Object right) { return left.toString().compareTo(right.toString()) < 0; } - - @Generic - public boolean doGeneric(Object left, Object right) { - throw new RuntimeException("comparison not defined for types " + left.getClass().getSimpleName() + ", " + right.getClass().getSimpleName()); - } }
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/PrintNode.java Mon Jul 01 20:24:49 2013 +0200 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/PrintNode.java Mon Jul 01 20:28:37 2013 +0200 @@ -54,7 +54,7 @@ output.print(value); } - @Generic + @Specialization public void doGeneric(Object value) { output.print(value.toString()); }
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/ReadLocalNode.java Mon Jul 01 20:24:49 2013 +0200 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/ReadLocalNode.java Mon Jul 01 20:28:37 2013 +0200 @@ -45,7 +45,7 @@ return frame.getBoolean(slot); } - @Generic(useSpecializations = false) + @Specialization public Object doObject(VirtualFrame frame) { try { return frame.getObject(slot); @@ -54,9 +54,4 @@ } } - @Override - protected FrameSlotNode specialize(Class<?> clazz) { - return ReadLocalNodeFactory.createSpecialized(this, clazz); - } - }
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/TernaryNode.java Mon Jul 01 20:24:49 2013 +0200 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/TernaryNode.java Mon Jul 01 20:28:37 2013 +0200 @@ -11,7 +11,7 @@ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). - * + * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. @@ -23,7 +23,6 @@ package com.oracle.truffle.sl.nodes; import java.math.*; - import com.oracle.truffle.api.codegen.*; @SuppressWarnings("unused") @@ -50,8 +49,8 @@ return hasIfPart ? ifPart : elsePart; } - @Generic - public Object doGeneric(boolean condition, boolean hasIfPart, Object ifPart, boolean hasElsePart, Object elsePart) { + @Specialization + public Object doObject(boolean condition, boolean hasIfPart, Object ifPart, boolean hasElsePart, Object elsePart) { return hasIfPart ? ifPart : elsePart; } }
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/WriteLocalNode.java Mon Jul 01 20:24:49 2013 +0200 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/WriteLocalNode.java Mon Jul 01 20:28:37 2013 +0200 @@ -48,7 +48,7 @@ return right; } - @Generic(useSpecializations = false) + @Specialization public Object writeGeneric(VirtualFrame frame, Object right) { try { frame.setObject(slot, right); @@ -58,9 +58,4 @@ return right; } - @Override - protected FrameSlotNode specialize(Class<?> clazz) { - return WriteLocalNodeFactory.createSpecialized(this, clazz); - } - }