INNER CODE UNIT · C++
i
tiann/epic · library/src/main/cpp/epic.cpp:202
int i = mprotect((void *) (addr - alignment), (size_t) (alignment + len),
PROT_READ | PROT_WRITE | PROT_EXEC);
if (i == -1) {
LOGV("mprotect failed: %s (%d)", strerror(errno), errno);
return JNI_FALSE;
}
return JNI_TRUE;
}
jboolean epic_cacheflush(JNIEnv *env, jclass, jlong addr, jlong len) {
#if defined(__arm__)
int i = cacheflush(addr, addr + len, 0);
LOGV("arm cacheflush for, %ul", addr);
if (i == -1) {
LOGV("cache flush failed: %s (%d)", strerror(errno), errno);
return JNI_FALSE;
}
#elif defined(__aarch64__)