diff options
author | Alan Wu <[email protected]> | 2020-10-05 07:41:46 -0400 |
---|---|---|
committer | Alan Wu <[email protected]> | 2021-10-20 18:19:24 -0400 |
commit | 7d1546ece5e3678a8b8eb196c81c3f4972c51f0a (patch) | |
tree | e0e6900959791ebe4d460c4823f4a16ec28baa5e | |
parent | a3e58f4df827f36681e4fdebfef8e05a6ceb5c10 (diff) |
Try to fix Windows build
-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 |