Skip to content
This repository was archived by the owner on Nov 1, 2020. It is now read-only.

Inline generic dictionary lookup#4121

Merged
MichalStrehovsky merged 3 commits into
dotnet:masterfrom
MichalStrehovsky:inlineGenericLookup
Jul 27, 2017
Merged

Inline generic dictionary lookup#4121
MichalStrehovsky merged 3 commits into
dotnet:masterfrom
MichalStrehovsky:inlineGenericLookup

Conversation

@MichalStrehovsky
Copy link
Copy Markdown
Member

@MichalStrehovsky MichalStrehovsky commented Jul 10, 2017

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)

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)
@MichalStrehovsky
Copy link
Copy Markdown
Member Author

(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...)

@jkotas
Copy link
Copy Markdown
Member

jkotas commented Jul 10, 2017

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.

@jkotas jkotas mentioned this pull request Jul 15, 2017
We were generating duplicate R2R helpers for the necessary and
constructed type cases.
@MichalStrehovsky MichalStrehovsky changed the title [WIP] Inline generic dictionary lookup Inline generic dictionary lookup Jul 19, 2017
Copy link
Copy Markdown
Member

@davidwrighton davidwrighton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@MichalStrehovsky MichalStrehovsky merged commit 1e97bb9 into dotnet:master Jul 27, 2017
@MichalStrehovsky MichalStrehovsky deleted the inlineGenericLookup branch July 27, 2017 17:16
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants