Author: martin
Date: 2007-11-22 04:58:12 -0500 (Thu, 22 Nov 2007)
New Revision: 90132
Modified:
trunk/mono/mono/mini/ChangeLog
trunk/mono/mono/mini/mini-amd64.c
trunk/mono/mono/mini/mini-trampolines.c
Log:
2007-11-22 Martin Baulig <[EMAIL PROTECTED]>
* mini-amd64.c
(mono_arch_get_delegate_invoke_impl): Call
mono_debug_add_delegate_impl().
* mini-trampolines.c
(mono_delegate_trampoline): Call mono_debugger_trampoline_compiled()
after compiling the method.
Modified: trunk/mono/mono/mini/ChangeLog
===================================================================
--- trunk/mono/mono/mini/ChangeLog 2007-11-22 09:57:07 UTC (rev 90131)
+++ trunk/mono/mono/mini/ChangeLog 2007-11-22 09:58:12 UTC (rev 90132)
@@ -1,3 +1,12 @@
+2007-11-22 Martin Baulig <[EMAIL PROTECTED]>
+
+ * mini-amd64.c
+ (mono_arch_get_delegate_invoke_impl): Call
mono_debug_add_delegate_impl().
+
+ * mini-trampolines.c
+ (mono_delegate_trampoline): Call mono_debugger_trampoline_compiled()
+ after compiling the method.
+
2007-11-20 Martin Baulig <[EMAIL PROTECTED]>
* debug-mini.c
Modified: trunk/mono/mono/mini/mini-amd64.c
===================================================================
--- trunk/mono/mono/mini/mini-amd64.c 2007-11-22 09:57:07 UTC (rev 90131)
+++ trunk/mono/mono/mini/mini-amd64.c 2007-11-22 09:58:12 UTC (rev 90132)
@@ -5469,6 +5469,7 @@
g_assert ((code - start) < 64);
cached = start;
+ mono_debug_add_delegate_impl (start, code - start);
mono_mini_arch_unlock ();
} else {
static guint8* cache [MAX_ARCH_DELEGATE_PARAMS + 1] = {NULL};
@@ -5501,6 +5502,7 @@
cache [sig->param_count] = start;
+ mono_debug_add_delegate_impl (start, code - start);
mono_mini_arch_unlock ();
}
Modified: trunk/mono/mono/mini/mini-trampolines.c
===================================================================
--- trunk/mono/mono/mini/mini-trampolines.c 2007-11-22 09:57:07 UTC (rev
90131)
+++ trunk/mono/mono/mini/mini-trampolines.c 2007-11-22 09:58:12 UTC (rev
90132)
@@ -293,7 +293,7 @@
MonoDelegate *delegate;
MonoJitInfo *ji;
gpointer iter;
- MonoMethod *invoke;
+ MonoMethod *invoke, *m;
gboolean multicast, callvirt;
/* Find the Invoke method */
@@ -314,8 +314,10 @@
*/
ji = mono_jit_info_table_find (domain, mono_get_addr_from_ftnptr
(delegate->method_ptr));
callvirt = !delegate->target && ji && mono_method_signature
(ji->method)->hasthis;
- if (ji && !callvirt)
+ if (ji && !callvirt) {
delegate->method_ptr = mono_compile_method (ji->method);
+ mono_debugger_trampoline_compiled (ji->method,
delegate->method_ptr);
+ }
multicast = ((MonoMulticastDelegate*)delegate)->prev != NULL;
if (!multicast && !callvirt) {
@@ -328,7 +330,10 @@
}
/* The general, unoptimized case */
- delegate->invoke_impl = mono_compile_method
(mono_marshal_get_delegate_invoke (invoke, delegate));
+ m = mono_marshal_get_delegate_invoke (invoke, delegate);
+ delegate->invoke_impl = mono_compile_method (m);
+ mono_debugger_trampoline_compiled (m, delegate->invoke_impl);
+
return delegate->invoke_impl;
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches