changeset 18797:3db8ec140f3f

Truffle-DSL: fix implicit cast optimization bug.
author Christian Humer <christian.humer@gmail.com>
date Wed, 07 Jan 2015 18:01:24 +0100
parents c4fcd94dad19
children f1e7e4f6d833
files graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeGenFactory.java
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeGenFactory.java	Wed Jan 07 16:05:57 2015 +0100
+++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeGenFactory.java	Wed Jan 07 18:01:24 2015 +0100
@@ -1726,7 +1726,7 @@
         final Set<ExecutableTypeData> executableTypes = findSpecializedExecutableTypes(execution, target.getType());
         if (executableTypes.isEmpty()) {
             throw new AssertionError(); // cannot execute child
-        } else if (executableTypes.size() == 1) {
+        } else if (executableTypes.size() == 1 && !target.getType().hasImplicitSourceTypes()) {
             ExecutableTypeData executableType = executableTypes.iterator().next();
             if (target.getType().isGeneric() && executableType.getEvaluatedCount() == 0) {
                 return createPolymorphicExecuteChild(execution, target, currentValues, shared);