2009-02-03 Zoltan Varga <vargaz@gmail.com>
+ * aot-compiler.c (emit_exception_debug_info): Control the emission of
+ unwind info using a new MONO_ARCH_HAVE_XP_UNWIND define.
+
+ * mini.c (mini_method_compile): Ditto.
+
* mini-amd64.c (mono_arch_allocate_vars): Avoid setting cfg->ret->dreg to
the variable index.
buf_size = header->num_clauses * 256 + debug_info_size + 256;
p = buf = g_malloc (buf_size);
-#if defined(__x86_64__)
+#ifdef MONO_ARCH_HAVE_XP_UNWIND
use_unwind_ops = cfg->unwind_ops != NULL;
#endif
#define MONO_ARCH_ENABLE_GLOBAL_RA 1
#define MONO_ARCH_HAVE_GENERALIZED_IMT_THUNK 1
#define MONO_ARCH_HAVE_LIVERANGE_OPS 1
+#define MONO_ARCH_HAVE_XP_UNWIND 1
#if !defined(PLATFORM_WIN32) && !defined(HAVE_MOVING_COLLECTOR)
#define MONO_ARCH_MONITOR_OBJECT_REG AMD64_RDI
#endif
}
}
+ /*
+ * Its possible to generate dwarf unwind info for xdebug etc, but not actually
+ * using it during runtime, hence the define.
+ */
+#ifdef MONO_ARCH_HAVE_XP_UNWIND
if (cfg->unwind_ops) {
guint32 info_len;
guint8 *unwind_info = mono_unwind_ops_encode (cfg->unwind_ops, &info_len);
jinfo->used_regs = mono_cache_unwind_info (unwind_info, info_len);
g_free (unwind_info);
}
+#endif
cfg->jit_info = jinfo;
#if defined(__arm__)