Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

jakobbotsch
Copy link
Member

@jakobbotsch jakobbotsch commented Jul 19, 2023

The access of the target instance was incorrectly inserted right after the location of the delegate instance. Since this indirection can throw a NRE this is incorrect; to get the proper inlined behavior, the indirection must happen only after all arguments have been evaluated.

Fix #75832

Large number of diffs expected due to reordering, with relatively small overall size-wise diffs.

The access of the target instance was incorrectly inserted right after
the location of the delegate instance. Since this indirection can throw
a NRE this is incorrect; to get the proper inlined behavior, the
indirection must happen only after all arguments have been evaluated.

Fix dotnet#75832
@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jul 19, 2023
@ghost ghost assigned jakobbotsch Jul 19, 2023
@ghost
Copy link

ghost commented Jul 19, 2023

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

Issue Details

The access of the target instance was incorrectly inserted right after the location of the delegate instance. Since this indirection can throw a NRE this is incorrect; to get the proper inlined behavior, the indirection must happen only after all arguments have been evaluated.

Fix #75832

Author: jakobbotsch
Assignees: -
Labels:

area-CodeGen-coreclr

Milestone: -

@jakobbotsch
Copy link
Member Author

/azp run runtime

@azure-pipelines
Copy link

No commit pushedDate could be found for PR 89175 in repo dotnet/runtime

@jakobbotsch
Copy link
Member Author

/azp run runtime, runtime-coreclr jitstress, runtime-coreclr libraries-jitstress

@azure-pipelines
Copy link

No commit pushedDate could be found for PR 89175 in repo dotnet/runtime

@jakobbotsch
Copy link
Member Author

/azp run runtime, runtime-coreclr jitstress, runtime-coreclr libraries-jitstress

@azure-pipelines
Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@jakobbotsch
Copy link
Member Author

Failures are known.

Diffs. As expected some minor size-wise diffs, with a large count of diffs due to the reordered IR.

cc @dotnet/jit-contrib PTAL @BruceForstall

@jakobbotsch jakobbotsch merged commit 3db5172 into dotnet:main Jul 20, 2023
@jakobbotsch jakobbotsch deleted the fix-75832 branch July 20, 2023 20:29
@ghost ghost locked as resolved and limited conversation to collaborators Aug 20, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

JIT: Late expansion of delegate calls can reorder null checks with other argument exceptions
2 participants