[Mono-dev] Having trouble getting tail. callvirt to work
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
> > tasks that are taking our time, including our new garbage collector,
> > 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
> 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
> > members in the community need, you release us from doing some of that
> > It also has the advantage that you do not have to be a runtime expert
> > 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...
More information about the Mono-devel-list