[Mono-dev] JIT and Inlining - why doesn't it happen?

Rodrigo Kumpera kumpera at gmail.com
Wed Apr 30 17:32:46 EDT 2008


Mono only inline very short methods. Right now methods must have a body at
most 20 bytes long.



2008/4/30 Alan McGovern <alan.mcgovern at gmail.com>:

> I recently started doing a bit of optimisation work on the
> hashing/cryptography classes in mono. When working on the managed SHA256
> class[1], i noticed that mono isn't inlining what i'd consider some *very*
> simple methods.
>
> The helper methods which do the bitshifting (Ro0, Ro1, Ch, Maj etc) aren't
> inlined! Each of these methods is only called once in the code. By manually
> inlining those method calls, performance increased significantly - about
> 70%. Why isn't mono inlining these methods? Can mono be made inline these?
>
> Alan.
>
> [1]
> http://anonsvn.mono-project.com/viewcvs/trunk/mcs/class/corlib/System.Security.Cryptography/SHA256Managed.cs?rev=46462&view=markup
>
> _______________________________________________
> 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/20080430/66779f4d/attachment.html 


More information about the Mono-devel-list mailing list