Mercurial > hg > truffle
diff graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeGenFactory.java @ 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 | 714f4931b02c |
children | 121748e43a01 |
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);