diff --git a/src/jit_compiler_a64.cpp b/src/jit_compiler_a64.cpp index 86bba44..b1fd54f 100644 --- a/src/jit_compiler_a64.cpp +++ b/src/jit_compiler_a64.cpp @@ -32,7 +32,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "program.hpp" #include "reciprocal.h" #include "virtual_memory.h" -#ifndef HAVE_BUILTIN_CLEAR_CACHE +#if !defined(HAVE_BUILTIN_CLEAR_CACHE) && defined(__APPLE__) #include #endif @@ -101,7 +101,7 @@ JitCompilerA64::JitCompilerA64() memset(reg_changed_offset, 0, sizeof(reg_changed_offset)); memcpy(code, (void*) randomx_program_aarch64, CodeSize); -#ifdef HAVE_BUILTIN_CLEAR_CACHE +#if defined(HAVE_BUILTIN_CLEAR_CACHE) && !defined(__APPLE__) __builtin___clear_cache(reinterpret_cast(code), reinterpret_cast(code + CodeSize)); #else sys_icache_invalidate(code, CodeSize); @@ -174,7 +174,7 @@ void JitCompilerA64::generateProgram(Program& program, ProgramConfiguration& con codePos = ((uint8_t*)randomx_program_aarch64_update_spMix1) - ((uint8_t*)randomx_program_aarch64); emit32(ARMV8A::EOR | 10 | (IntRegMap[config.readReg0] << 5) | (IntRegMap[config.readReg1] << 16), code, codePos); -#ifdef HAVE_BUILTIN_CLEAR_CACHE +#if defined(HAVE_BUILTIN_CLEAR_CACHE) && !defined(__APPLE__) __builtin___clear_cache(reinterpret_cast(code), reinterpret_cast(code + CodeSize)); #else sys_icache_invalidate(code, CodeSize); @@ -233,7 +233,7 @@ void JitCompilerA64::generateProgramLight(Program& program, ProgramConfiguration emit32(ARMV8A::ADD_IMM_LO | 2 | (2 << 5) | (imm_lo << 10), code, codePos); emit32(ARMV8A::ADD_IMM_HI | 2 | (2 << 5) | (imm_hi << 10), code, codePos); -#ifdef HAVE_BUILTIN_CLEAR_CACHE +#if defined(HAVE_BUILTIN_CLEAR_CACHE) && !defined(__APPLE__) __builtin___clear_cache(reinterpret_cast(code), reinterpret_cast(code + CodeSize)); #else sys_icache_invalidate(code, CodeSize); @@ -353,7 +353,7 @@ void JitCompilerA64::generateSuperscalarHash(SuperscalarProgram(&programs)[N], s memcpy(code + codePos, p1, p2 - p1); codePos += p2 - p1; -#ifdef HAVE_BUILTIN_CLEAR_CACHE +#if defined(HAVE_BUILTIN_CLEAR_CACHE) && !defined(__APPLE__) __builtin___clear_cache(reinterpret_cast(code), reinterpret_cast(code + CodeSize)); #else sys_icache_invalidate(code, CodeSize);