summaryrefslogtreecommitdiff
path: root/sljit
diff options
context:
space:
mode:
authorzherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15>2013-06-18 07:49:46 +0000
committerzherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15>2013-06-18 07:49:46 +0000
commit8ab3dabe31467261f3b128e03d28d63dc7c77c9b (patch)
treea1e069db17090e5499df24c5f2cd9a451ec82d20 /sljit
parentcb284848eb9e3c84b670166346baa02e6a55ebf6 (diff)
downloadpcre-8ab3dabe31467261f3b128e03d28d63dc7c77c9b.tar.gz
Cache flush in JIT for android. Patch by Giuseppe D'Angelo.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1340 2f5784b3-3f2a-0410-8824-cb99058d5e15
Diffstat (limited to 'sljit')
-rw-r--r--sljit/sljitConfigInternal.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/sljit/sljitConfigInternal.h b/sljit/sljitConfigInternal.h
index 2298191..525fb1d 100644
--- a/sljit/sljitConfigInternal.h
+++ b/sljit/sljitConfigInternal.h
@@ -221,6 +221,13 @@
#define SLJIT_CACHE_FLUSH(from, to) \
sys_icache_invalidate((char*)(from), (char*)(to) - (char*)(from))
+#elif defined __ANDROID__
+
+/* Android lacks __clear_cache; instead, cacheflush should be used. */
+
+#define SLJIT_CACHE_FLUSH(from, to) \
+ cacheflush((long)(from), (long)(to), 0)
+
#elif (defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32) || (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64)
/* The __clear_cache() implementation of GCC is a dummy function on PowerPC. */