[Mono-dev] Patch: Fix fast generic virtual method calls with remoting

Rodrigo Kumpera kumpera at gmail.com
Wed Oct 8 18:17:23 EDT 2008


Hi Mark,

@@ -1991,7 +1990,7 @@
             iter = NULL;
             j = 0;
             while ((cm = mono_class_get_methods (interf, &iter)))
-                pvt->vtable [slot + j++] = mono_method_signature
(cm)->generic_param_count ? cm : arch_create_remoting_trampoline (cm,
target_type);
+                pvt->vtable [slot + j++] = mono_method_signature
(cm)->generic_param_count ? cm : arch_create_remoting_trampoline (domain,
cm, target_type);

             slot += mono_class_num_methods (interf);
         }

Why this part of the vtable doesn't receive a remoting wrapper?

These checks were added by Robert Jordan in r85526 to fix
https://bugzilla.novell.com/show_bug.cgi?id=MONO78882

Looks like your patch reverts Robert's changes and use a new trampoline
instead, thou there are other changes in object.c that haven't been changed
back and seen related to virtual generic methods.

Cheers,
Rodrigo



2008/10/8 Mark Probst <mark.probst at gmail.com>

> Hi,
>
> The attached patch fixes the Remoting regressions that were caused by
> the fast generic virtual method invoking code.  The problem is that
> remoting methods need a remoting wrapper, but invoking a generic method
> via the vtable cannot provide that wrapper, so I added a new trampoline
> type which does that.
>
> Paolo: Please review.
>
> Mark
>
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20081008/9d3af858/attachment-0001.html 


More information about the Mono-devel-list mailing list