diff options
author | Ben Cheng <bccheng@android.com> | 2011-02-08 17:09:25 -0800 |
---|---|---|
committer | Ben Cheng <bccheng@android.com> | 2011-02-08 17:16:48 -0800 |
commit | d72564ca7aa66c6d95b6ca34299258b65ecfd1cb (patch) | |
tree | 41d7038a77c008911c77033bc296dfe1249efb37 /vm/compiler/codegen/arm/ArchUtility.c | |
parent | 238ab4b31a286d71a98400d01534fe9874fd1f57 (diff) | |
download | android_dalvik-d72564ca7aa66c6d95b6ca34299258b65ecfd1cb.tar.gz android_dalvik-d72564ca7aa66c6d95b6ca34299258b65ecfd1cb.tar.bz2 android_dalvik-d72564ca7aa66c6d95b6ca34299258b65ecfd1cb.zip |
Misc goodies in the JIT in preparation for more aggressive code motion.
- Set up resource masks correctly for Thumb push/pop when LR/PC are involved.
- Preserve LR around simulated heap references under self-verification mode.
- Compact a few simple flags in ArmLIR into bit fields.
- Minor performance tuning in TEMPLATE_MEM_OP_DECODE
Change-Id: Id73edac837c5bb37dfd21f372d6fa21c238cf42a
Diffstat (limited to 'vm/compiler/codegen/arm/ArchUtility.c')
-rw-r--r-- | vm/compiler/codegen/arm/ArchUtility.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/vm/compiler/codegen/arm/ArchUtility.c b/vm/compiler/codegen/arm/ArchUtility.c index 5af4f3b5c..c6bcac2bc 100644 --- a/vm/compiler/codegen/arm/ArchUtility.c +++ b/vm/compiler/codegen/arm/ArchUtility.c @@ -348,7 +348,7 @@ void dvmDumpLIRInsn(LIR *arg, unsigned char *baseAddr) LOGD("L%p:\n", lir); break; default: - if (lir->isNop && !dumpNop) { + if (lir->flags.isNop && !dumpNop) { break; } buildInsnString(EncodingMap[lir->opcode].name, lir, opName, @@ -357,15 +357,15 @@ void dvmDumpLIRInsn(LIR *arg, unsigned char *baseAddr) 256); LOGD("%p (%04x): %-8s%s%s\n", baseAddr + offset, offset, opName, buf, - lir->isNop ? "(nop)" : ""); + lir->flags.isNop ? "(nop)" : ""); break; } - if (lir->useMask && (!lir->isNop || dumpNop)) { + if (lir->useMask && (!lir->flags.isNop || dumpNop)) { DUMP_RESOURCE_MASK(dvmDumpResourceMask((LIR *) lir, lir->useMask, "use")); } - if (lir->defMask && (!lir->isNop || dumpNop)) { + if (lir->defMask && (!lir->flags.isNop || dumpNop)) { DUMP_RESOURCE_MASK(dvmDumpResourceMask((LIR *) lir, lir->defMask, "def")); } |