summaryrefslogtreecommitdiffstats
path: root/vm/compiler/codegen/arm/armv7-a-neon/ArchVariant.c
diff options
context:
space:
mode:
authorbuzbee <buzbee@google.com>2010-07-20 14:53:42 -0700
committerbuzbee <buzbee@google.com>2010-07-21 14:50:25 -0700
commitecf8f6ede2c00350a36297dd7427afff9d9cb154 (patch)
tree6f78c5a9225efd114ba231a9a7bc9ced22265ace /vm/compiler/codegen/arm/armv7-a-neon/ArchVariant.c
parente3bed18a09bc810752f50784033b9b201c0d8399 (diff)
downloadandroid_dalvik-ecf8f6ede2c00350a36297dd7427afff9d9cb154.tar.gz
android_dalvik-ecf8f6ede2c00350a36297dd7427afff9d9cb154.tar.bz2
android_dalvik-ecf8f6ede2c00350a36297dd7427afff9d9cb154.zip
JIT: Support for Dalvik volatiles (issue 2781881)
Also, on SMP systems generate memory barriers. Change-Id: If64f7c98a8de426930b8f36ac77913e53b7b2d7a
Diffstat (limited to 'vm/compiler/codegen/arm/armv7-a-neon/ArchVariant.c')
-rw-r--r--vm/compiler/codegen/arm/armv7-a-neon/ArchVariant.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/vm/compiler/codegen/arm/armv7-a-neon/ArchVariant.c b/vm/compiler/codegen/arm/armv7-a-neon/ArchVariant.c
index 5a14774c0..f1727c6f1 100644
--- a/vm/compiler/codegen/arm/armv7-a-neon/ArchVariant.c
+++ b/vm/compiler/codegen/arm/armv7-a-neon/ArchVariant.c
@@ -87,3 +87,11 @@ int dvmCompilerTargetOptHint(int key)
}
return res;
}
+
+void dvmCompilerGenMemBarrier(CompilationUnit *cUnit)
+{
+#if ANDROID_SMP != 0
+ ArmLIR *dmb = newLIR1(cUnit, kThumb2Dmb, kSY); // Full system DMB
+ dmb->defMask = ENCODE_ALL;
+#endif
+}