diff options
author | jeffhao <jeffhao@google.com> | 2010-02-10 10:51:02 -0800 |
---|---|---|
committer | jeffhao <jeffhao@google.com> | 2010-02-10 10:51:02 -0800 |
commit | 121ea790080b5a6bb713a07452c19f87d209de48 (patch) | |
tree | f40b049670aa589cdebfe69e1301171920480b1f /vm/compiler/codegen/arm/Thumb2 | |
parent | 91080d271405234756293eb16f4d5b6e1c71c9e7 (diff) | |
download | android_dalvik-121ea790080b5a6bb713a07452c19f87d209de48.tar.gz android_dalvik-121ea790080b5a6bb713a07452c19f87d209de48.tar.bz2 android_dalvik-121ea790080b5a6bb713a07452c19f87d209de48.zip |
Added LDMIA/STMIA support to Self Verification mode.
Diffstat (limited to 'vm/compiler/codegen/arm/Thumb2')
-rw-r--r-- | vm/compiler/codegen/arm/Thumb2/Factory.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/vm/compiler/codegen/arm/Thumb2/Factory.c b/vm/compiler/codegen/arm/Thumb2/Factory.c index 9feb53fb1..0db2045d4 100644 --- a/vm/compiler/codegen/arm/Thumb2/Factory.c +++ b/vm/compiler/codegen/arm/Thumb2/Factory.c @@ -1038,6 +1038,10 @@ static ArmLIR *loadMultiple(CompilationUnit *cUnit, int rBase, int rMask) } else { res = newLIR2(cUnit, kThumb2Ldmia, rBase, rMask); } +#if defined(WITH_SELF_VERIFICATION) + if (cUnit->heapMemOp) + res->branchInsertSV = true; +#endif genBarrier(cUnit); return res; } @@ -1051,6 +1055,10 @@ static ArmLIR *storeMultiple(CompilationUnit *cUnit, int rBase, int rMask) } else { res = newLIR2(cUnit, kThumb2Stmia, rBase, rMask); } +#if defined(WITH_SELF_VERIFICATION) + if (cUnit->heapMemOp) + res->branchInsertSV = true; +#endif genBarrier(cUnit); return res; } |