diff options
author | k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-08-02 14:40:36 +0000 |
---|---|---|
committer | k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-08-02 14:40:36 +0000 |
commit | d4381d2ceb725a05857e5e5f39b697f005bb5abb (patch) | |
tree | 4a7ce8ffe3a89b5bac0e89656522244907dd20fd | |
parent | 2aea3deddd129a9693644e17ed3069535971efb5 (diff) | |
download | ruby-d4381d2ceb725a05857e5e5f39b697f005bb5abb.tar.gz |
mjit.c: skip compaction on MinGW
because linking multiple .o files is problematic without having `static`
to the same function definitions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | mjit.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -872,6 +872,7 @@ link_o_to_so(const char **o_files, const char *so_file) static void compact_all_jit_code(void) { +# ifndef _WIN32 /* This requires header transformation but we don't transform header on Windows for now */ struct rb_mjit_unit *unit; struct rb_mjit_unit_node *node; double start_time, end_time; @@ -921,11 +922,11 @@ compact_all_jit_code(void) add_to_list(node, &compact_units); if (!mjit_opts.save_temps) { -#ifdef _WIN32 +# ifdef _WIN32 unit->so_file = strdup(so_file); /* lazily delete on `clean_object_files()` */ -#else +# else remove_file(so_file); -#endif +# endif } CRITICAL_SECTION_START(3, "in compact_all_jit_code to read list"); @@ -952,6 +953,7 @@ compact_all_jit_code(void) free(unit); verbose(1, "JIT compaction failure (%.1fms): Failed to compact methods", end_time - start_time); } +# endif /* _WIN32 */ } #endif /* _MSC_VER */ |