Mercurial > hg > graal-compiler
comparison graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/node/NodeCodeGenerator.java @ 12399:980db6c0bcd3
Truffle-DSL: fixed invalid @SlowPath on generic execute methods. (GRAAL-490 #resolve)
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Mon, 14 Oct 2013 13:25:25 +0200 |
parents | c78612fb0120 |
children | 85dcc7f59c34 |
comparison
equal
deleted
inserted
replaced
12398:c78612fb0120 | 12399:980db6c0bcd3 |
---|---|
1313 | 1313 |
1314 private CodeExecutableElement createGenericExecute(NodeData node, SpecializationGroup group) { | 1314 private CodeExecutableElement createGenericExecute(NodeData node, SpecializationGroup group) { |
1315 TypeMirror genericReturnType = node.getGenericSpecialization().getReturnType().getType(); | 1315 TypeMirror genericReturnType = node.getGenericSpecialization().getReturnType().getType(); |
1316 CodeExecutableElement method = new CodeExecutableElement(modifiers(PROTECTED), genericReturnType, EXECUTE_GENERIC_NAME); | 1316 CodeExecutableElement method = new CodeExecutableElement(modifiers(PROTECTED), genericReturnType, EXECUTE_GENERIC_NAME); |
1317 | 1317 |
1318 method.getAnnotationMirrors().add(new CodeAnnotationMirror(getContext().getTruffleTypes().getSlowPath())); | 1318 if (!node.getGenericSpecialization().hasFrame(getContext())) { |
1319 | 1319 method.getAnnotationMirrors().add(new CodeAnnotationMirror(getContext().getTruffleTypes().getSlowPath())); |
1320 } | |
1320 addInternalValueParameters(method, node.getGenericSpecialization(), node.needsFrame(), false); | 1321 addInternalValueParameters(method, node.getGenericSpecialization(), node.needsFrame(), false); |
1321 final CodeTreeBuilder builder = method.createBuilder(); | 1322 final CodeTreeBuilder builder = method.createBuilder(); |
1322 | 1323 |
1323 builder.tree(createExecuteTree(builder, node.getGenericSpecialization(), group, false, new CodeBlock<SpecializationData>() { | 1324 builder.tree(createExecuteTree(builder, node.getGenericSpecialization(), group, false, new CodeBlock<SpecializationData>() { |
1324 | 1325 |