diff options
Diffstat (limited to 'src/lj_mcode.c')
-rw-r--r-- | src/lj_mcode.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/lj_mcode.c b/src/lj_mcode.c index c8ed95e1..8a4851dd 100644 --- a/src/lj_mcode.c +++ b/src/lj_mcode.c | |||
@@ -29,6 +29,11 @@ | |||
29 | #include <valgrind/valgrind.h> | 29 | #include <valgrind/valgrind.h> |
30 | #endif | 30 | #endif |
31 | 31 | ||
32 | #if LJ_TARGET_WINDOWS | ||
33 | #define WIN32_LEAN_AND_MEAN | ||
34 | #include <windows.h> | ||
35 | #endif | ||
36 | |||
32 | #if LJ_TARGET_IOS | 37 | #if LJ_TARGET_IOS |
33 | void sys_icache_invalidate(void *start, size_t len); | 38 | void sys_icache_invalidate(void *start, size_t len); |
34 | #endif | 39 | #endif |
@@ -41,6 +46,8 @@ void lj_mcode_sync(void *start, void *end) | |||
41 | #endif | 46 | #endif |
42 | #if LJ_TARGET_X86ORX64 | 47 | #if LJ_TARGET_X86ORX64 |
43 | UNUSED(start); UNUSED(end); | 48 | UNUSED(start); UNUSED(end); |
49 | #elif LJ_TARGET_WINDOWS | ||
50 | FlushInstructionCache(GetCurrentProcess(), start, (char *)end-(char *)start); | ||
44 | #elif LJ_TARGET_IOS | 51 | #elif LJ_TARGET_IOS |
45 | sys_icache_invalidate(start, (char *)end-(char *)start); | 52 | sys_icache_invalidate(start, (char *)end-(char *)start); |
46 | #elif LJ_TARGET_PPC | 53 | #elif LJ_TARGET_PPC |
@@ -58,9 +65,6 @@ void lj_mcode_sync(void *start, void *end) | |||
58 | 65 | ||
59 | #if LJ_TARGET_WINDOWS | 66 | #if LJ_TARGET_WINDOWS |
60 | 67 | ||
61 | #define WIN32_LEAN_AND_MEAN | ||
62 | #include <windows.h> | ||
63 | |||
64 | #define MCPROT_RW PAGE_READWRITE | 68 | #define MCPROT_RW PAGE_READWRITE |
65 | #define MCPROT_RX PAGE_EXECUTE_READ | 69 | #define MCPROT_RX PAGE_EXECUTE_READ |
66 | #define MCPROT_RWX PAGE_EXECUTE_READWRITE | 70 | #define MCPROT_RWX PAGE_EXECUTE_READWRITE |