summaryrefslogtreecommitdiff
path: root/src/compiler/codegen/MethodCodegenDriver.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/codegen/MethodCodegenDriver.cc')
-rw-r--r--src/compiler/codegen/MethodCodegenDriver.cc5
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: