comparison graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeGenFactory.java @ 20963:ec1dca6d288a

Truffle-DSL: fixed single specializable node migth delegate to a synthetic executable type.
author Christian Humer <christian.humer@gmail.com>
date Wed, 15 Apr 2015 00:35:25 +0200
parents a77b760a0307
children 56a30cfcefaf
comparison
equal deleted inserted replaced
20962:d79e1c137fb7 20963:ec1dca6d288a
1726 } 1726 }
1727 1727
1728 private CodeTree createCallDelegateExecute(final CodeTreeBuilder parent, CodeTree receiver, LocalContext currentLocals, ExecutableTypeData source, ExecutableTypeData delegate) { 1728 private CodeTree createCallDelegateExecute(final CodeTreeBuilder parent, CodeTree receiver, LocalContext currentLocals, ExecutableTypeData source, ExecutableTypeData delegate) {
1729 CodeTreeBuilder callBuilder = parent.create(); 1729 CodeTreeBuilder callBuilder = parent.create();
1730 1730
1731 if (singleSpecializable) { 1731 if (singleSpecializable && delegate.getMethod() != null) {
1732 callBuilder.startCall(receiver, delegate.getMethod().getSimpleName().toString()); 1732 callBuilder.startCall(receiver, delegate.getMethod().getSimpleName().toString());
1733 } else { 1733 } else {
1734 callBuilder.startCall(receiver, delegate.getUniqueName()); 1734 callBuilder.startCall(receiver, delegate.getUniqueName());
1735 } 1735 }
1736 callBuilder.trees(bindExecuteMethodParameters(null, delegate, currentLocals)); 1736 callBuilder.trees(bindExecuteMethodParameters(null, delegate, currentLocals));