From dbfe3900e4ef23473c4ac01697b7e782d1c224d9 Mon Sep 17 00:00:00 2001 From: smcallis Date: Wed, 15 Nov 2023 01:15:30 -0700 Subject: [PATCH] [Bug] Fix breakages that occur when targeting WASM with Emscripten. (#422) We don't import either architecture in archtraits so include environment.h to ensure Environment is visible, and don't use __builtin__clear_cache in Emscripten because it's unsupported. --- src/asmjit/core/archtraits.cpp | 1 + src/asmjit/core/virtmem.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/asmjit/core/archtraits.cpp b/src/asmjit/core/archtraits.cpp index fc825df..a15a00c 100644 --- a/src/asmjit/core/archtraits.cpp +++ b/src/asmjit/core/archtraits.cpp @@ -5,6 +5,7 @@ #include "../core/api-build_p.h" #include "../core/archtraits.h" +#include "../core/environment.h" #include "../core/misc_p.h" #if !defined(ASMJIT_NO_X86) diff --git a/src/asmjit/core/virtmem.cpp b/src/asmjit/core/virtmem.cpp index 96e5f98..95a6b7e 100644 --- a/src/asmjit/core/virtmem.cpp +++ b/src/asmjit/core/virtmem.cpp @@ -852,7 +852,7 @@ Error releaseDualMapping(DualMapping* dm, size_t size) noexcept { // ======================================== void flushInstructionCache(void* p, size_t size) noexcept { -#if ASMJIT_ARCH_X86 +#if ASMJIT_ARCH_X86 || defined(__EMSCRIPTEN__) // X86/X86_64 architecture doesn't require to do anything to flush instruction cache. DebugUtils::unused(p, size); #elif defined(__APPLE__)