提交 ac09c9bb 编写于 作者: J Jonathan Chambers

Merge pull request #77 from Unity-Technologies/unity-4.2-staging

Unity 4.2 staging
......@@ -33,7 +33,7 @@ if ($ENV{UNITY_THISISABUILDMACHINE}) {
$ENV{'C_INCLUDE_PATH'}="$external_MONO_PREFIX/include:$external_GNOME_PREFIX/include";
$ENV{'ACLOCAL_PATH'}="$external_MONO_PREFIX/share/aclocal";
$ENV{'PKG_CONFIG_PATH'}="$external_MONO_PREFIX/lib/pkgconfig:$external_GNOME_PREFIX/lib/pkgconfig";
$ENV{'PATH'}="$external_MONO_PREFIX/bin:$ENV{'PATH'}";
$ENV{'PATH'}="$external_MONO_PREFIX/bin:/usr/local/bin:$ENV{'PATH'}";
} else {
print "not rmtree-ing $root/builds, as we're not on a buildmachine\n";
}
......
......@@ -104,9 +104,9 @@ for my $arch (@arches)
#this will fail on a fresh working copy, so don't die on it.
system("make distclean");
system("autoreconf -i") eq 0 or die ("Failed autoreconfing eglib");
system("autoreconf -i");
chdir("$root") eq 1 or die ("failed to chdir 2");
system("autoreconf -i") eq 0 or die ("Failed autoreconfing mono");
system("autoreconf -i");
my @autogenparams = ();
unshift(@autogenparams, "--cache-file=osx.cache");
unshift(@autogenparams, "--disable-mcs-build");
......
......@@ -4346,8 +4346,14 @@ emit_code (MonoAotCompile *acfg)
emit_method_code (acfg, acfg->cfgs [i]);
}
sprintf (symbol, "methods_end");
emit_section_change (acfg, ".text", 0);
emit_global (acfg, symbol, FALSE);
emit_alignment (acfg, 8);
emit_label (acfg, symbol);
sprintf (symbol, "method_addresses");
emit_section_change (acfg, ".text", 1);
emit_section_change (acfg, ".data", 1);
emit_global (acfg, symbol, FALSE);
emit_alignment (acfg, 8);
emit_label (acfg, symbol);
......@@ -4365,12 +4371,6 @@ emit_code (MonoAotCompile *acfg)
}
}
sprintf (symbol, "methods_end");
emit_section_change (acfg, ".text", 0);
emit_global (acfg, symbol, FALSE);
emit_alignment (acfg, 8);
emit_label (acfg, symbol);
sprintf (symbol, "method_offsets");
emit_section_change (acfg, ".text", 1);
emit_global (acfg, symbol, FALSE);
......
......@@ -1015,7 +1015,13 @@ transport_handshake (void)
static int
transport_accept (int socket_fd)
{
#ifdef __QNXNTO__
do {
conn_fd = accept (socket_fd, NULL, NULL);
} while( conn_fd == -1 && errno == EINTR );
#else
conn_fd = accept (socket_fd, NULL, NULL);
#endif
if (conn_fd == -1) {
fprintf (stderr, "debugger-agent: Unable to listen on %d\n", socket_fd);
} else {
......
......@@ -5485,6 +5485,8 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
if (il_offsets [i] < header->code_size)
mono_bitset_set_fast (seq_point_locs, il_offsets [i]);
}
g_free (il_offsets);
g_free (line_numbers);
}
}
......
......@@ -5157,6 +5157,7 @@ mini_get_addr_from_ftnptr (gpointer descr)
}
static void runtime_invoke_info_free (gpointer value);
static void seq_point_info_free (gpointer value);
static void
mini_create_jit_domain_info (MonoDomain *domain)
......@@ -5169,7 +5170,7 @@ mini_create_jit_domain_info (MonoDomain *domain)
info->delegate_trampoline_hash = g_hash_table_new (mono_aligned_addr_hash, NULL);
info->llvm_vcall_trampoline_hash = g_hash_table_new (mono_aligned_addr_hash, NULL);
info->runtime_invoke_hash = g_hash_table_new_full (mono_aligned_addr_hash, NULL, NULL, runtime_invoke_info_free);
info->seq_points = g_hash_table_new (mono_aligned_addr_hash, NULL);
info->seq_points = g_hash_table_new_full (mono_aligned_addr_hash, NULL, NULL, seq_point_info_free);
info->arch_seq_points = g_hash_table_new (mono_aligned_addr_hash, NULL);
domain->runtime_info = info;
......@@ -5201,6 +5202,19 @@ runtime_invoke_info_free (gpointer value)
g_free (info);
}
static void seq_point_info_free (gpointer value)
{
int i = 0;
MonoSeqPointInfo* info = (MonoSeqPointInfo*)value;
for (i = 0; i < info->len; ++i) {
SeqPoint *sp = &info->seq_points [i];
g_free (sp->next);
}
g_free (info);
}
static void
mini_free_jit_domain_info (MonoDomain *domain)
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册