aboutsummaryrefslogtreecommitdiff
path: root/vm/compiler/codegen/arm/CodegenDriver.cpp
diff options
context:
space:
mode:
authorBen Cheng <bccheng@android.com>2011-04-22 10:22:20 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2011-04-22 10:22:20 -0700
commitc7432258b3dd420ec7b252ae25aa9a19a66a8e0f (patch)
treec11b0c3b682092ff82b5c65820e23a56e3595ca9 /vm/compiler/codegen/arm/CodegenDriver.cpp
parentf7ab441aa04df6fd49796b078754771bb2fa4683 (diff)
parent9f54185b4186def90351903bb2e97090e06ab559 (diff)
am 9f54185b: Set "needFallThroughBranch" flag during block split.
* commit '9f54185b4186def90351903bb2e97090e06ab559': Set "needFallThroughBranch" flag during block split.
Diffstat (limited to 'vm/compiler/codegen/arm/CodegenDriver.cpp')
-rw-r--r--vm/compiler/codegen/arm/CodegenDriver.cpp9
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 */