[Mono-dev] Ping on nternal call builders

Rodrigo Kumpera kumpera at gmail.com
Wed Jul 30 10:16:28 EDT 2008


Hi Zoltan,

It's only doable to encode some very simple icalls with IL. I have the
feeling that
we get an order of magnitude code increase for going from C/C# to emitting
IL.

OTOH, for things like UnsafeAddrOfPinnedArrayElement, the code is so
straight
forward that gcc will hardly do much better than mono's JIT.

Anyway, allowing M2M frames to be considered for inlining is the way to go
or should we use a new wrapper type?

Rodrigo


On Wed, Jul 30, 2008 at 9:22 AM, Zoltan Varga <vargaz at gmail.com> wrote:

> Hi,
>
>  This patch replaces a small, fast, simple piece of code
> in mono_emit_inst_for_method () with something far more complex. Also,
> about replacing
> icalls with generated IL code:
> - the code to generate the icalls is usually much bigger and more
> complex than the icall
>  itself.
> - it replaces code generated by the gcc optimizing C compiler with
> code generated by out JIT,
>  which is of much lower quality. So even tough we incur a
> managed-to-native transition
> overhead by calling native code, we get some (or all) of it back by
> having gcc compiled code
>  in the icall.
> - as rodrigo said, every new type of wrapper function adds some
> complexity to our AOT
> compiler which has to know about them.
>
> So I'm not against adding the _ability_ to implement icalls in IL, but
> I'm against using it in
> situations where it just makes things more complex.
>
>                     Zoltan
> _______________________________________________
> 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/20080730/e8324fe9/attachment.html 


More information about the Mono-devel-list mailing list