File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed
truffle/src/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/bytecode/generator Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -6226,7 +6226,7 @@ private CodeExecutableElement createAfterChild() {
6226
6226
6227
6227
if (op.isVariadic && model.hasVariadicReturn) {
6228
6228
if (op.instruction.signature.dynamicOperandCount > 1) {
6229
- b.startIf().string("childIndex > ").string(op.instruction.signature.dynamicOperandCount - 1 ).end().startBlock();
6229
+ b.startIf().string("childIndex > ").string(op.instruction.signature.dynamicOperandCount - 2 ).end().startBlock();
6230
6230
}
6231
6231
6232
6232
b.startIf().string("isVariadicReturn(operationCode)").end().startBlock();
@@ -6239,7 +6239,11 @@ private CodeExecutableElement createAfterChild() {
6239
6239
"variadicReturnIndices.length * 2").end().end();
6240
6240
b.tree(operationStack.write(op, operationFields.variadicReturnIndices, "variadicReturnIndices"));
6241
6241
b.end();
6242
- b.statement("variadicReturnIndices[numVariadicReturnIndices] = childIndex");
6242
+ if (op.instruction.signature.dynamicOperandCount > 1) {
6243
+ b.statement("variadicReturnIndices[numVariadicReturnIndices] = childIndex - " + (op.instruction.signature.dynamicOperandCount - 1));
6244
+ } else {
6245
+ b.statement("variadicReturnIndices[numVariadicReturnIndices] = childIndex");
6246
+ }
6243
6247
b.tree(operationStack.write(op, operationFields.numVariadicReturnIndices, "numVariadicReturnIndices + 1"));
6244
6248
6245
6249
b.end(); // if isVariadicReturn
You can’t perform that action at this time.
0 commit comments