comparison graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeGenFactory.java @ 20944:354b7f1b4acf

Truffle-DSL: fixed frame may be null for shared polymorphic execute methods.
author Christian Humer <christian.humer@gmail.com>
date Tue, 14 Apr 2015 19:23:32 +0200
parents 476374f3fe9a
children 1ed58a90b510
comparison
equal deleted inserted replaced
20943:810d466073f0 20944:354b7f1b4acf
2149 } 2149 }
2150 2150
2151 CodeTreeBuilder builder = CodeTreeBuilder.createBuilder(); 2151 CodeTreeBuilder builder = CodeTreeBuilder.createBuilder();
2152 builder.tree(targetValue.createReference()).string(" = "); 2152 builder.tree(targetValue.createReference()).string(" = ");
2153 builder.startCall(executeChildMethodName(execution, targetValue.getTypeMirror())); 2153 builder.startCall(executeChildMethodName(execution, targetValue.getTypeMirror()));
2154 builder.string(FRAME_VALUE); 2154 if (currentValues.get(FRAME_VALUE) == null) {
2155 builder.nullLiteral();
2156 } else {
2157 builder.string(FRAME_VALUE);
2158 }
2155 2159
2156 CodeVariableElement implicitProfile = createImplicitProfileParameter(execution, targetValue.getTypeMirror()); 2160 CodeVariableElement implicitProfile = createImplicitProfileParameter(execution, targetValue.getTypeMirror());
2157 if (implicitProfile != null) { 2161 if (implicitProfile != null) {
2158 builder.string(implicitProfile.getName()); 2162 builder.string(implicitProfile.getName());
2159 } 2163 }