Mercurial > hg > graal-jvmci-8
comparison graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeGenFactory.java @ 20964:56a30cfcefaf
Truffle-DSL: fixed wrong executable delegate.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Wed, 15 Apr 2015 03:14:27 +0200 |
parents | ec1dca6d288a |
children | 05a2b72c071f |
comparison
equal
deleted
inserted
replaced
20963:ec1dca6d288a | 20964:56a30cfcefaf |
---|---|
1694 } | 1694 } |
1695 LocalVariable shortCircuit = resolveShortCircuit(specialization, execution, currentLocals); | 1695 LocalVariable shortCircuit = resolveShortCircuit(specialization, execution, currentLocals); |
1696 var = currentLocals.createValue(execution, targetType).nextName(); | 1696 var = currentLocals.createValue(execution, targetType).nextName(); |
1697 builder.tree(createAssignExecuteChild(builder, execution, executableType, var, shortCircuit, currentLocals)); | 1697 builder.tree(createAssignExecuteChild(builder, execution, executableType, var, shortCircuit, currentLocals)); |
1698 currentLocals.setValue(execution, var); | 1698 currentLocals.setValue(execution, var); |
1699 | |
1700 } | 1699 } |
1701 } | 1700 } |
1702 | 1701 |
1703 LocalContext originalValues = currentLocals.copy(); | 1702 LocalContext originalValues = currentLocals.copy(); |
1704 if (delegate != null) { | 1703 if (delegate != null) { |
1717 return createFastPathExecute(builder, executableType, s, values); | 1716 return createFastPathExecute(builder, executableType, s, values); |
1718 } | 1717 } |
1719 }; | 1718 }; |
1720 builder.tree(createGuardAndCast(group, returnType, currentLocals, executionFactory)); | 1719 builder.tree(createGuardAndCast(group, returnType, currentLocals, executionFactory)); |
1721 if (hasFallthrough(group, returnType, originalValues, true, null) || group.getSpecialization().isFallback()) { | 1720 if (hasFallthrough(group, returnType, originalValues, true, null) || group.getSpecialization().isFallback()) { |
1722 builder.tree(createCallNext(builder, executableType, executableType, originalValues)); | 1721 builder.tree(createCallNext(builder, executableType, node.getGenericExecutableType(executableType), originalValues)); |
1723 } | 1722 } |
1724 } | 1723 } |
1725 return builder.build(); | 1724 return builder.build(); |
1726 } | 1725 } |
1727 | 1726 |