MethodImplOptions.AggressiveInlining vs TargetedPatchingOptOut

Yann Lebel picture Yann Lebel · Mar 10, 2013 · Viewed 10.4k times · Source

What is the difference between the MethodImplAttribute with the option MethodImplOptions.AggressiveInlining and the TargetedPatchingOptOut?

When I searched on Google everybody seems to says that both (might) inline the method but without giving the difference.

Answer

Yann Lebel picture Yann Lebel · Mar 28, 2013

I was waiting to see if someone else could have a better answer but it seems no.

After I read dtb comment I did a little bit more research and found this http://blogs.microsoft.co.il/blogs/sasha/archive/2012/01/20/aggressive-inlining-in-the-clr-4-5-jit.aspx.

My understanding of this post is that you can apply both attribute AggressiveInlining will remove the in-lining size limit of the method while like dtb said the TargetedPatchingOptOut will allow inlining accross assembly boundaries.