diff options
-rw-r--r-- | iseq.c | 1 | ||||
-rw-r--r-- | ujit_asm.c | 6 | ||||
-rw-r--r-- | ujit_compile.c | 8 |
3 files changed, 13 insertions, 2 deletions
@@ -42,7 +42,6 @@ #include "builtin.h" #include "insns.inc" #include "insns_info.inc" -#include <sys/mman.h> VALUE rb_cISeq; static VALUE iseqw_new(const rb_iseq_t *iseq); diff --git a/ujit_asm.c b/ujit_asm.c index 8efbee3f79..e8aee15fab 100644 --- a/ujit_asm.c +++ b/ujit_asm.c @@ -3,8 +3,10 @@ #include <stdarg.h> #include <assert.h> +#ifndef _WIN32 // For mmapp() #include <sys/mman.h> +#endif #include "ujit_asm.h" @@ -82,6 +84,7 @@ x86opnd_t const_ptr_opnd(void* ptr) // Allocate a block of executable memory uint8_t* alloc_exec_mem(size_t mem_size) { +#ifndef _WIN32 // Map the memory as executable uint8_t* mem_block = (uint8_t*)mmap( &alloc_exec_mem, @@ -100,6 +103,9 @@ uint8_t* alloc_exec_mem(size_t mem_size) } return mem_block; +#else + return NULL; +#endif } // Initialize a code block object diff --git a/ujit_compile.c b/ujit_compile.c index cee9e383e7..6740a80765 100644 --- a/ujit_compile.c +++ b/ujit_compile.c @@ -13,6 +13,12 @@ // eg ujit_hook.h #include "ujit_examples.inc" +#ifdef _WIN32 +#define PLATFORM_SUPPORTED_P 0 +#else +#define PLATFORM_SUPPORTED_P 1 +#endif + // Hash table of encoded instructions extern st_table *rb_encoded_insn_data; @@ -505,7 +511,7 @@ rb_ujit_enabled_p(void) void rb_ujit_init(void) { - if (!ujit_scrape_successful) { + if (!ujit_scrape_successful && PLATFORM_SUPPORTED_P) { return; } // Initialize the code blocks |