Mercurial > hg > graal-compiler
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)); |