# HG changeset patch # User Christian Humer # Date 1420650084 -3600 # Node ID 3db8ec140f3fd0dabebd2d0153cb66e51526cc6f # Parent c4fcd94dad190158d2bcb7ed29f31662e6ff96fa Truffle-DSL: fix implicit cast optimization bug. diff -r c4fcd94dad19 -r 3db8ec140f3f graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeGenFactory.java --- 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 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);