Skip to content

Conversation

@jkotas
Copy link
Member

@jkotas jkotas commented Dec 7, 2020

No description provided.

AndyAyersMS and others added 7 commits December 5, 2020 08:33
If we devirtualize to a method on a generic class, try and obtain the
exact class. Pass this back to the jit to unblock some types of inlines.

Also refactor how information is passed during devirtualization in
anticipation of follow on work to devirtualize default interface methods.
Because there are now multiple inputs and outputs, convey everything
using a struct.

Resolves #38477.
@jkotas jkotas changed the title Merge dotnet/runtime Merge from dotnet/runtime Dec 7, 2020
@jkotas
Copy link
Member Author

jkotas commented Dec 7, 2020

@MichalStrehovsky Could you please review the last commit?

@MichalStrehovsky
Copy link
Member

I'm a bit surprised we need to call FindMethodOnTypeWithMatchingTypicalMethod in the first place, but this change looks good (wonder what the result of resolution is that we need that).

We could probably put the new if check under #if !READYTORUN for clarity. Crossgen2 doesn't model the generic interfaces on arrays at all.

@jkotas jkotas merged commit 4cf7f4e into dotnet:feature/NativeAOT Dec 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants