Inline generic dictionary lookup#4121
Conversation
Avoid R2R helper calls in most of the generic dictionary lookups. I'm deliberately not enabling this for: * Generic lookups for static bases (these are more complicated as there might be `.cctor` triggering involved - needs RyuJIT changes) * Generic lookups for delegate creation (this is also pretty complicated - needs RyuJIT changes)
|
(Marked as WIP because ASP.NET benchmarks have one more reason not to compile after this. They are already broken for other reasons. I won't have time to look into that failure anytime soon, especially because we now have to debug stuff on hard mode, because the VS2017 apparently can't do mixed mode debugging for .NET Core apps...) |
It should work for netcoreapp2.0 - fixed by dotnet/coreclr#8603. ILCompiler project is targeting netcoreapp1.1 right now. Targeting netcoreapp2.0 did not work well in VS2017 RTM. Since most of us are using VS2017 Update preview builds, it should be fine to switch to netcoreapp2.0, and get mixed mode debugging back as bonus. |
We were generating duplicate R2R helpers for the necessary and constructed type cases.
davidwrighton
left a comment
There was a problem hiding this comment.
This looks about right, but I'd like you to get Peter to look at before checkin, as he's working in this space right now too.
Avoid R2R helper calls in most of the generic dictionary lookups. I'm
deliberately not enabling this for:
might be
.cctortriggering involved - needs RyuJIT changes)