diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Support/Unix/Memory.inc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Support/Unix/Memory.inc b/lib/Support/Unix/Memory.inc index e00394e..2686ba6 100644 --- a/lib/Support/Unix/Memory.inc +++ b/lib/Support/Unix/Memory.inc @@ -331,8 +331,13 @@ void Memory::InvalidateInstructionCache(const void *Addr, const char *End = Start + Len; __clear_cache(const_cast<char *>(Start), const_cast<char *>(End)); # elif defined(__mips__) +# if defined(ANDROID) + // Android uses cacheflush(long, long, long) instead. + cacheflush(reinterpret_cast<long>(Addr), Len, BCACHE); +# else const char *Start = static_cast<const char *>(Addr); cacheflush(const_cast<char *>(Start), Len, BCACHE); +# endif # endif #endif // end apple |