Mercurial > hg > truffle
diff graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/node/NodeCodeGenerator.java @ 10695:8c8e47cc101d
Truffle-DSL: fixed a bug in removal of the frame from the generated generic execute method.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Thu, 11 Jul 2013 01:55:54 +0200 |
parents | a0309f88306c |
children | 00a9dbcbe431 |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/node/NodeCodeGenerator.java Wed Jul 10 09:42:22 2013 +0200 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/node/NodeCodeGenerator.java Thu Jul 11 01:55:54 2013 +0200 @@ -1466,7 +1466,7 @@ method.getAnnotationMirrors().add(new CodeAnnotationMirror(getContext().getTruffleTypes().getSlowPath())); - addInternalValueParameters(method, node.getGenericSpecialization(), false, false); + addInternalValueParameters(method, node.getGenericSpecialization(), node.needsFrame(), false); CodeTreeBuilder builder = method.createBuilder(); String prefix = null; @@ -2268,7 +2268,7 @@ builder.end(); builder.startReturn().startCall("super", EXECUTE_GENERIC_NAME); - addInternalValueParameterNames(builder, specialization, node.getGenericSpecialization(), null, false, true); + addInternalValueParameterNames(builder, specialization, node.getGenericSpecialization(), null, node.needsFrame(), true); builder.end().end(); builder.end().startElseBlock(); @@ -2434,7 +2434,7 @@ emitEncounteredSynthetic(builder, specialization); } else if (specialization.isGeneric()) { returnBuilder.startCall("super", EXECUTE_GENERIC_NAME); - addInternalValueParameterNames(returnBuilder, specialization, specialization, null, false, true); + addInternalValueParameterNames(returnBuilder, specialization, specialization, null, node.needsFrame(), true); returnBuilder.end(); } else { returnBuilder.tree(createTemplateMethodCall(returnBuilder, null, specialization, specialization, null));