Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JIT: Expand delegate calls early #75255

Open
jakobbotsch opened this issue Sep 8, 2022 · 2 comments
Open

JIT: Expand delegate calls early #75255

jakobbotsch opened this issue Sep 8, 2022 · 2 comments
Assignees
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Milestone

Comments

@jakobbotsch
Copy link
Member

jakobbotsch commented Sep 8, 2022

We currently expand delegate calls in lowering. There are potential CSE opportunities of the target instance and target address if we expand it in morph, similar to what we do for vtable calls.

@AndyAyersMS had a prototype for dotnet/coreclr here: https://github.com/AndyAyersMS/coreclr/tree/InlineDelegateInvoke

category:cq
theme:delegates
skill-level:expert
cost:medium
impact:medium

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Sep 8, 2022
@jakobbotsch jakobbotsch self-assigned this Sep 8, 2022
@ghost ghost added the untriaged New issue has not been triaged by the area owner label Sep 8, 2022
@jakobbotsch jakobbotsch added this to the 8.0.0 milestone Sep 8, 2022
@ghost
Copy link

ghost commented Sep 8, 2022

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Issue Details

We currently expand delegate calls in lowering. There are potential CSE opportunities of the target instance and target address if we expand it in morph, similar to what we do for vtable calls.

@AndyAyersMS had a prototype for dotnet/coreclr here: https://github.com/AndyAyersMS/coreclr/tree/InlineDelegateInvoke

Author: jakobbotsch
Assignees: jakobbotsch
Labels:

area-CodeGen-coreclr, untriaged

Milestone: -

@jakobbotsch jakobbotsch removed the untriaged New issue has not been triaged by the area owner label Sep 8, 2022
jakobbotsch added a commit to jakobbotsch/runtime that referenced this issue Sep 19, 2022
Expand delegate calls in morph to allow CSE'ing and hoisting of delegate
targets/instances.

Fix dotnet#75832
Close dotnet#75255
@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Sep 19, 2022
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Oct 20, 2022
@jakobbotsch
Copy link
Member Author

#75841 tried this but doing this early hits some issues due to the JIT sometimes not being smart about the order args are passed in. Will move this to future.

@jakobbotsch jakobbotsch modified the milestones: 8.0.0, Future Jun 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant