[Mono-dev] Having trouble getting tail. callvirt to work

Rodrigo Kumpera kumpera at gmail.com
Sun Nov 14 20:53:10 EST 2010


On Sun, Nov 14, 2010 at 8:48 PM, Stefan O'Rear <stefanor at cox.net> wrote:

> On Sun, Nov 14, 2010 at 01:15:00PM -0500, Miguel de Icaza wrote:
> [ on the tail. prefix ]
> > It is one of those "It would be nice to have", but we have plenty of
> large
> > tasks that are taking our time, including our new garbage collector,
> various
> > ports and supports to platforms that help fund the Mono team and many bug
> > fixes.
> >
> > Although I could say "we accept patches", I understand that patches to
> > implement full tail call optimizations are beyond the means of most
> hackers.
>
> I take that as a challenge.
>
> >   Hence, let me propose that another way of making sure we have the spare
> > cycles to look into this is to take bugs away from us.
> >
> > By going to bugzilla and fixing bugs, and implementing features that
> other
> > members in the community need, you release us from doing some of that
> work.
> >   It also has the advantage that you do not have to be a runtime expert
> to
> > help, you can pick any of the bugs that we have in our plate in any space
> > that you are an expert on, or you want to become an export on.
>
> Sounds like fun.
>
> Do you have anything like a "new runtime hacker's orientation" document?
> I still don't really understand a lot of the basic concepts in Mono.
>
> For instance, I'm trying to figure out why ldftn/calli is 70 times slower
> than delegates in a kernel I'm working on, and it seems to be spending
> most of that time in common_call_trampoline, but I can't figure out what
> that function is supposed to do.
>

This happens because this sequence of code doesn't happen in regular
C# code so the runtime isn't optimized for it at all. Delegates, OTOH, have
received a lot of attention due to their key role on most frameworks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20101114/f70f8d32/attachment-0001.html 


More information about the Mono-devel-list mailing list