2008-03-02 Zoltan Varga <vargaz@gmail.com>
+ * mini-amd64.c (mono_arch_emit_prolog): Fix tracing after the last change.
+
* mini-amd64.c (mono_arch_emit_prolog): Avoid saving dead arguments.
* mini.c (mono_method_check_inlining): Avoid disabling inlining for methods
CallInfo *cinfo;
gint32 lmf_offset = cfg->arch.lmf_offset;
gboolean args_clobbered = FALSE;
+ gboolean trace = FALSE;
cfg->code_size = MAX (((MonoMethodNormal *)method)->header->code_size * 4, 10240);
code = cfg->native_code = g_malloc (cfg->code_size);
+ if (mono_jit_trace_calls != NULL && mono_trace_eval (method))
+ trace = TRUE;
+
/* Amount of stack space allocated by register saving code */
pos = 0;
ins = cfg->args [i];
- if (ins->flags & MONO_INST_IS_DEAD)
+ if ((ins->flags & MONO_INST_IS_DEAD) && !trace)
/* Unused arguments */
continue;
}
}
- if (mono_jit_trace_calls != NULL && mono_trace_eval (method)) {
+ if (trace) {
args_clobbered = TRUE;
code = mono_arch_instrument_prolog (cfg, mono_trace_enter_method, code, TRUE);
}