diff options
Diffstat (limited to 'src/compiler/codegen/MethodCodegenDriver.cc')
| -rw-r--r-- | src/compiler/codegen/MethodCodegenDriver.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/compiler/codegen/MethodCodegenDriver.cc b/src/compiler/codegen/MethodCodegenDriver.cc index fb9bdc9227..5ffe3e44c2 100644 --- a/src/compiler/codegen/MethodCodegenDriver.cc +++ b/src/compiler/codegen/MethodCodegenDriver.cc @@ -364,9 +364,10 @@ bool compileDalvikInstruction(CompilationUnit* cUnit, MIR* mir, case Instruction::GOTO_16: case Instruction::GOTO_32: if (bb->taken->startOffset <= mir->offset) { - genSuspendTest(cUnit, mir); + genSuspendTestAndBranch(cUnit, mir, &labelList[bb->taken->id]); + } else { + opUnconditionalBranch(cUnit, &labelList[bb->taken->id]); } - opUnconditionalBranch(cUnit, &labelList[bb->taken->id]); break; case Instruction::PACKED_SWITCH: |