diff graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/SpecializedNodeFactory.java @ 18758:3912400fc33a

Truffle-DSL: remove type system singleton
author Christian Humer <christian.humer@gmail.com>
date Mon, 29 Dec 2014 23:38:42 +0100
parents 59bf50cc5a32
children a665483c3881
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/SpecializedNodeFactory.java	Mon Dec 29 23:38:39 2014 +0100
+++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/SpecializedNodeFactory.java	Mon Dec 29 23:38:42 2014 +0100
@@ -492,11 +492,13 @@
             if (targetType == null || sourceType == null) {
                 builder.tree(returnBuilder.getRoot());
             } else if (sourceType.needsCastTo(targetType)) {
-                String castMethodName = TypeSystemCodeGenerator.expectTypeMethodName(targetType);
-                if (!executable.hasUnexpectedValue(context)) {
-                    castMethodName = TypeSystemCodeGenerator.asTypeMethodName(targetType);
+                CodeTree cast;
+                if (executable.hasUnexpectedValue(context)) {
+                    cast = TypeSystemCodeGenerator.expect(targetType, returnBuilder.getRoot());
+                } else {
+                    cast = TypeSystemCodeGenerator.cast(targetType, returnBuilder.getRoot());
                 }
-                builder.tree(createCallTypeSystemMethod(parent, node, castMethodName, returnBuilder.getRoot()));
+                builder.tree(cast);
             } else {
                 builder.tree(returnBuilder.getRoot());
             }