summaryrefslogtreecommitdiffstats
path: root/vm/compiler/codegen/arm/Thumb2
diff options
context:
space:
mode:
authorjeffhao <jeffhao@google.com>2010-02-10 10:51:02 -0800
committerjeffhao <jeffhao@google.com>2010-02-10 10:51:02 -0800
commit121ea790080b5a6bb713a07452c19f87d209de48 (patch)
treef40b049670aa589cdebfe69e1301171920480b1f /vm/compiler/codegen/arm/Thumb2
parent91080d271405234756293eb16f4d5b6e1c71c9e7 (diff)
downloadandroid_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.c8
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;
}