Address comment about clearing instruction cache

This commit is contained in:
Stephen Just 2023-02-20 19:52:00 -08:00
parent 9c7dbda52a
commit d708f6f7bf

View File

@ -29,6 +29,11 @@
#include <valgrind/valgrind.h> #include <valgrind/valgrind.h>
#endif #endif
#if LJ_TARGET_WINDOWS
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#endif
#if LJ_TARGET_IOS #if LJ_TARGET_IOS
void sys_icache_invalidate(void *start, size_t len); void sys_icache_invalidate(void *start, size_t len);
#endif #endif
@ -39,7 +44,9 @@ void lj_mcode_sync(void *start, void *end)
#ifdef LUAJIT_USE_VALGRIND #ifdef LUAJIT_USE_VALGRIND
VALGRIND_DISCARD_TRANSLATIONS(start, (char *)end-(char *)start); VALGRIND_DISCARD_TRANSLATIONS(start, (char *)end-(char *)start);
#endif #endif
#if LJ_TARGET_X86ORX64 || _MSC_VER #if LJ_TARGET_WINDOWS
FlushInstructionCache(GetCurrentProcess(), start, (char *)end-(char *)start);
#elif LJ_TARGET_X86ORX64
UNUSED(start); UNUSED(end); UNUSED(start); UNUSED(end);
#elif LJ_TARGET_IOS #elif LJ_TARGET_IOS
sys_icache_invalidate(start, (char *)end-(char *)start); sys_icache_invalidate(start, (char *)end-(char *)start);
@ -58,9 +65,6 @@ void lj_mcode_sync(void *start, void *end)
#if LJ_TARGET_WINDOWS #if LJ_TARGET_WINDOWS
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#define MCPROT_RW PAGE_READWRITE #define MCPROT_RW PAGE_READWRITE
#define MCPROT_RX PAGE_EXECUTE_READ #define MCPROT_RX PAGE_EXECUTE_READ
#define MCPROT_RWX PAGE_EXECUTE_READWRITE #define MCPROT_RWX PAGE_EXECUTE_READWRITE