summaryrefslogtreecommitdiffstats
path: root/vm/compiler/codegen/arm/FP
diff options
context:
space:
mode:
authorBen Cheng <bccheng@android.com>2011-02-18 17:12:42 -0800
committerBen Cheng <bccheng@android.com>2011-03-02 13:45:54 -0800
commit20d7e6c67af128d5bf7cc003564a8122c4101c84 (patch)
tree2c15767179646dd5c24c87c1a8ebfaedd42686c4 /vm/compiler/codegen/arm/FP
parent131ec9ff58fcc6a7440297e2cbee23df93d2974d (diff)
downloadandroid_dalvik-20d7e6c67af128d5bf7cc003564a8122c4101c84.tar.gz
android_dalvik-20d7e6c67af128d5bf7cc003564a8122c4101c84.tar.bz2
android_dalvik-20d7e6c67af128d5bf7cc003564a8122c4101c84.zip
Handle OP_THROW in the method JIT.
The current implementation is to reconstruct the leaf Dalvik frame and punt to the interpreter, since the amount of work involed to match each catch block and walk through the stack frames is just not worth JIT'ing. Additional changes: - Fixed a control-flow bug where a block that ends with a throw shouldn't have a fall-through block. - Fixed a code cache lookup bug so that method-based compilation is guaranteed a slot in the profiling table. - Created separate handler routines based on opcode format for the method-based JIT. - Renamed a few core registers that also have special meanings to the VM or ARM architecture. Change-Id: I429b3633f281a0e04d352ae17a1c4f4a41bab156
Diffstat (limited to 'vm/compiler/codegen/arm/FP')
-rw-r--r--vm/compiler/codegen/arm/FP/ThumbVFP.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/vm/compiler/codegen/arm/FP/ThumbVFP.c b/vm/compiler/codegen/arm/FP/ThumbVFP.c
index bec54ca77..f685f2469 100644
--- a/vm/compiler/codegen/arm/FP/ThumbVFP.c
+++ b/vm/compiler/codegen/arm/FP/ThumbVFP.c
@@ -38,7 +38,7 @@ static void loadValueAddressDirect(CompilationUnit *cUnit, RegLocation rlSrc,
}
dvmCompilerClobber(cUnit, rDest);
dvmCompilerLockTemp(cUnit, rDest);
- opRegRegImm(cUnit, kOpAdd, rDest, rFP,
+ opRegRegImm(cUnit, kOpAdd, rDest, r5FP,
dvmCompilerS2VReg(cUnit, rlSrc.sRegLow) << 2);
}