Skip to content

Commit 241a8a5

Browse files
committed
Fix: remove unnecessary opcode assertions in builder
1 parent 56e9b06 commit 241a8a5

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

truffle/src/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/bytecode/generator/BytecodeRootNodeElement.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4201,8 +4201,7 @@ private CodeExecutableElement createValidateLocalScope(boolean materialized) {
42014201
b.startSwitch().string("operation.operation").end().startBlock();
42024202
b.startCase().tree(createOperationConstant(model.rootOperation)).end();
42034203
b.startCaseBlock();
4204-
emitCastOperationData(b, model.rootOperation, "i", "rootOperationData", "currentState");
4205-
b.startIf().string(operationStack.read(model.rootOperation, "rootOperationData", operationFields.index), " == localImpl.rootIndex").end().startBlock();
4204+
b.startIf().string(operationStack.read(model.rootOperation, "operation", operationFields.index), " == localImpl.rootIndex").end().startBlock();
42064205
b.lineComment("root node found");
42074206
b.statement("return");
42084207
b.end();
@@ -4495,7 +4494,7 @@ private Map<OperationField, String> initOperationBeginData(CodeTreeBuilder b, Op
44954494

44964495
b.startCase().tree(createOperationConstant(model.sourceOperation)).end();
44974496
b.startCaseBlock();
4498-
emitCastOperationData(b, model.sourceOperation, "i", "sourceData", "currentState");
4497+
emitCastOperationData(b, model.sourceOperation, "i", "sourceData", "currentState", false);
44994498
b.statement("foundSourceIndex = ", operationStack.read(model.sourceOperation, "sourceData", operationFields.sourceIndex));
45004499
b.statement("break loop");
45014500
b.end(); // case epilog
@@ -5437,14 +5436,16 @@ private void emitCastOperationData(CodeTreeBuilder b, OperationModel operation,
54375436
}
54385437

54395438
private void emitCastOperationData(CodeTreeBuilder b, OperationModel operation, String sp, String localName) {
5440-
emitCastOperationData(b, operation, sp, localName, "state");
5439+
emitCastOperationData(b, operation, sp, localName, "state", true);
54415440
}
54425441

5443-
private void emitCastOperationData(CodeTreeBuilder b, OperationModel operation, String sp, String localName, String stateName) {
5442+
private void emitCastOperationData(CodeTreeBuilder b, OperationModel operation, String sp, String localName, String stateName, boolean checkOperation) {
54445443
b.startDeclaration(operationStack.asType(), localName);
54455444
b.string(stateName, ".operationStack[", sp, "]");
54465445
b.end();
5447-
b.startAssert().string(localName, ".operation == ").tree(createOperationConstant(operation)).end();
5446+
if (checkOperation) {
5447+
b.startAssert().string(localName, ".operation == ").tree(createOperationConstant(operation)).end();
5448+
}
54485449
}
54495450

54505451
/**

0 commit comments

Comments
 (0)