summaryrefslogtreecommitdiffstats
path: root/libpixelflinger/codeflinger
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2014-02-11 13:31:48 -0800
committerColin Cross <ccross@android.com>2014-02-11 13:32:44 -0800
commit32ea4a895c4c914f0347dd1e943bca0f474a9050 (patch)
treea7bb56d6739b7393024d7daa22d5cda4c369297f /libpixelflinger/codeflinger
parent85516e9d019a7f5af0e394ea767185c12ffbcd42 (diff)
downloadsystem_core-32ea4a895c4c914f0347dd1e943bca0f474a9050.zip
system_core-32ea4a895c4c914f0347dd1e943bca0f474a9050.tar.gz
system_core-32ea4a895c4c914f0347dd1e943bca0f474a9050.tar.bz2
pixelflinger: use __builtin___clear_cache instead of cacheflush
cacheflush doesn't exist on LP64 any more, and gcc's __builtin___clear_cache is better in every way. Use it instead. Change-Id: Ibbf6facbdefc15b6dda51d014e1c44fb7aa2b17d
Diffstat (limited to 'libpixelflinger/codeflinger')
-rw-r--r--libpixelflinger/codeflinger/CodeCache.cpp6
1 files changed, 1 insertions, 5 deletions
diff --git a/libpixelflinger/codeflinger/CodeCache.cpp b/libpixelflinger/codeflinger/CodeCache.cpp
index 4fe30d9..7446da2 100644
--- a/libpixelflinger/codeflinger/CodeCache.cpp
+++ b/libpixelflinger/codeflinger/CodeCache.cpp
@@ -201,13 +201,9 @@ int CodeCache::cache( const AssemblyKeyBase& keyBase,
mCacheInUse += assemblySize;
mWhen++;
// synchronize caches...
-#if defined(__arm__) || defined(__mips__) || defined(__aarch64__)
const long base = long(assembly->base());
const long curr = base + long(assembly->size());
- err = cacheflush(base, curr, 0);
- ALOGE_IF(err, "cacheflush error %s\n",
- strerror(errno));
-#endif
+ __builtin___clear_cache((void*)base, (void*)curr);
}
pthread_mutex_unlock(&mLock);