зеркало из https://github.com/github/ruby.git
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:
Родитель
2aea3deddd
Коммит
d4381d2ceb
8
mjit.c
8
mjit.c
|
@ -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 */
|
||||
|
|
Загрузка…
Ссылка в новой задаче