diff options
Diffstat (limited to 'vm/compiler/codegen/arm/CodegenDriver.cpp')
| -rw-r--r-- | vm/compiler/codegen/arm/CodegenDriver.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/vm/compiler/codegen/arm/CodegenDriver.cpp b/vm/compiler/codegen/arm/CodegenDriver.cpp index c38b16a46..a722289eb 100644 --- a/vm/compiler/codegen/arm/CodegenDriver.cpp +++ b/vm/compiler/codegen/arm/CodegenDriver.cpp @@ -3896,6 +3896,15 @@ static void handlePCReconstruction(CompilationUnit *cUnit, (ArmLIR **) cUnit->pcReconstructionList.elemList; int numElems = cUnit->pcReconstructionList.numUsed; int i; + + /* + * We should never reach here through fall-through code, so insert + * a bomb to signal troubles immediately. + */ + if (numElems) { + newLIR0(cUnit, kThumbUndefined); + } + for (i = 0; i < numElems; i++) { dvmCompilerAppendLIR(cUnit, (LIR *) pcrLabel[i]); /* r0 = dalvik PC */ |
