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
This commit is contained in:
k0kubun 2018-08-02 14:40:36 +00:00
Родитель 2aea3deddd
Коммит d4381d2ceb
1 изменённых файлов: 5 добавлений и 3 удалений

8
mjit.c
Просмотреть файл

@ -872,6 +872,7 @@ link_o_to_so(const char **o_files, const char *so_file)
static void static void
compact_all_jit_code(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 *unit;
struct rb_mjit_unit_node *node; struct rb_mjit_unit_node *node;
double start_time, end_time; double start_time, end_time;
@ -921,11 +922,11 @@ compact_all_jit_code(void)
add_to_list(node, &compact_units); add_to_list(node, &compact_units);
if (!mjit_opts.save_temps) { if (!mjit_opts.save_temps) {
#ifdef _WIN32 # ifdef _WIN32
unit->so_file = strdup(so_file); /* lazily delete on `clean_object_files()` */ unit->so_file = strdup(so_file); /* lazily delete on `clean_object_files()` */
#else # else
remove_file(so_file); remove_file(so_file);
#endif # endif
} }
CRITICAL_SECTION_START(3, "in compact_all_jit_code to read list"); CRITICAL_SECTION_START(3, "in compact_all_jit_code to read list");
@ -952,6 +953,7 @@ compact_all_jit_code(void)
free(unit); free(unit);
verbose(1, "JIT compaction failure (%.1fms): Failed to compact methods", end_time - start_time); verbose(1, "JIT compaction failure (%.1fms): Failed to compact methods", end_time - start_time);
} }
# endif /* _WIN32 */
} }
#endif /* _MSC_VER */ #endif /* _MSC_VER */