Skip to content

JIT: Stop setting class handles for promoted parameter SIMD fields #87967

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

Merged
merged 2 commits into from
Jun 26, 2023

Conversation

jakobbotsch
Copy link
Member

Having these class handles floating around in the JIT is problematic during prejit where the JIT-EE calls allowed on "random" type handles (in this case the type of a field of a struct from the IL) is limited.

Precursor to #87917

No diffs expected.

Having these class handles floating around in the JIT is problematic
during prejit where the JIT-EE calls allowed on "random" type handles
(in this case the type of a field of a struct) is limited.

Precursor to dotnet#87917
@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jun 23, 2023
@ghost ghost assigned jakobbotsch Jun 23, 2023
@ghost
Copy link

ghost commented Jun 23, 2023

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

Issue Details

Having these class handles floating around in the JIT is problematic during prejit where the JIT-EE calls allowed on "random" type handles (in this case the type of a field of a struct from the IL) is limited.

Precursor to #87917

No diffs expected.

Author: jakobbotsch
Assignees: jakobbotsch
Labels:

area-CodeGen-coreclr

Milestone: -

@jakobbotsch jakobbotsch reopened this Jun 23, 2023
@jakobbotsch
Copy link
Member Author

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

@azure-pipelines
Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@jakobbotsch
Copy link
Member Author

cc @dotnet/jit-contrib PTAL @BruceForstall

For some context we removed the requirement for SIMD locals to have class handles a while ago (back around #83036). However, the requirement remained for promoted SIMD fields of parameters; this PR removes it for those as well, and stops setting them. There were a few cases in the backend that were using the handle for ABI purposes. This itself was a bit questionable since the ABI details for passing the type of a field does not necessarily have any relation to the ABI details of passing the parent.

No diffs. The failure is #87934.

@jakobbotsch jakobbotsch merged commit dc08e2b into dotnet:main Jun 26, 2023
@jakobbotsch jakobbotsch deleted the promoted-simd-fields-no-handles branch June 26, 2023 21:58
@ghost ghost locked as resolved and limited conversation to collaborators Jul 27, 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.

2 participants