summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Butcher <david.butcher@arm.com>2013-06-04 15:35:20 +0100
committerSteve Kondik <shade@chemlab.org>2014-01-02 18:29:36 +0000
commit3f6e6e01529699ef373bbf80cf4a8df4b0193a98 (patch)
tree912ce75da7021ab1a7031238c717804b2c5caa45
parent56b9ae49eddb69e92dce555b2046622d47e1b1a7 (diff)
downloadandroid_dalvik-3f6e6e01529699ef373bbf80cf4a8df4b0193a98.tar.gz
android_dalvik-3f6e6e01529699ef373bbf80cf4a8df4b0193a98.tar.bz2
android_dalvik-3f6e6e01529699ef373bbf80cf4a8df4b0193a98.zip
Dalvik: DMB Optimisation
Replaces use of 'dmb' and 'dmb st' with inner-shareable versions. This should improve performance in certain cases without harming correctness. Change-Id: Id30f58b93b34bf0e232bb01dc3956a82f7a69c40 (cherry picked from commit 2ea163ba54731afcfa11341a525c33e08d0781fa)
-rw-r--r--vm/mterp/armv7-a/platform.S4
-rw-r--r--vm/mterp/out/InterpAsm-armv7-a-neon.S4
-rw-r--r--vm/mterp/out/InterpAsm-armv7-a.S4
3 files changed, 6 insertions, 6 deletions
diff --git a/vm/mterp/armv7-a/platform.S b/vm/mterp/armv7-a/platform.S
index 96ff2c256..b11350aec 100644
--- a/vm/mterp/armv7-a/platform.S
+++ b/vm/mterp/armv7-a/platform.S
@@ -13,7 +13,7 @@
*/
.macro SMP_DMB
#if ANDROID_SMP != 0
- dmb
+ dmb ish
#else
/* not SMP */
#endif
@@ -24,7 +24,7 @@
*/
.macro SMP_DMB_ST
#if ANDROID_SMP != 0
- dmb st
+ dmb ishst
#else
/* not SMP */
#endif
diff --git a/vm/mterp/out/InterpAsm-armv7-a-neon.S b/vm/mterp/out/InterpAsm-armv7-a-neon.S
index 7d3b08f46..d86d0bde2 100644
--- a/vm/mterp/out/InterpAsm-armv7-a-neon.S
+++ b/vm/mterp/out/InterpAsm-armv7-a-neon.S
@@ -218,7 +218,7 @@ unspecified registers or condition codes.
*/
.macro SMP_DMB
#if ANDROID_SMP != 0
- dmb
+ dmb ish
#else
/* not SMP */
#endif
@@ -229,7 +229,7 @@ unspecified registers or condition codes.
*/
.macro SMP_DMB_ST
#if ANDROID_SMP != 0
- dmb st
+ dmb ishst
#else
/* not SMP */
#endif
diff --git a/vm/mterp/out/InterpAsm-armv7-a.S b/vm/mterp/out/InterpAsm-armv7-a.S
index 199d59acb..7e4741358 100644
--- a/vm/mterp/out/InterpAsm-armv7-a.S
+++ b/vm/mterp/out/InterpAsm-armv7-a.S
@@ -218,7 +218,7 @@ unspecified registers or condition codes.
*/
.macro SMP_DMB
#if ANDROID_SMP != 0
- dmb
+ dmb ish
#else
/* not SMP */
#endif
@@ -229,7 +229,7 @@ unspecified registers or condition codes.
*/
.macro SMP_DMB_ST
#if ANDROID_SMP != 0
- dmb st
+ dmb ishst
#else
/* not SMP */
#endif