Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Cleanup ILStub signature delta management - #23572

Merged
jkoritzinsky merged 4 commits into
dotnet:masterfrom
jkoritzinsky:cleaner-stub-sig-management
Oct 22, 2019
Merged

jkoritzinsky merged 4 commits into
dotnet:masterfrom
jkoritzinsky:cleaner-stub-sig-management

Conversation

@jkoritzinsky

Copy link
Copy Markdown
Member

While working on #23145, I noticed that the stub signature management always assumed that the "target sig" was the called sig. This is not the case in a reverse stub, so there was also code to account for these extra parameters. This PR updates the ILStubLinker to correctly account for reverse stubs and instance->unmanaged non-instance stubs so there is no code needed to adjust the stack delta from the target call in the stub.

Teach ILStubLinker to use the managed signature for the target stack delta when the stub is a reverse stub.

Make ILStubLinker understand changing calling conventions from instance to non-instance calling conventions.

@jkoritzinsky

Copy link
Copy Markdown
Member Author

/azp run coreclr-ci

@azure-pipelines

Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

…delta when the stub is a reverse stub.

Make ILStubLinker understand changing calling conventions from instance to non-instance calling conventions.
@jkoritzinsky
jkoritzinsky force-pushed the cleaner-stub-sig-management branch from 936f8ed to dbb5135 Compare March 29, 2019 21:05
Comment thread src/vm/stubgen.cpp Outdated
Comment thread src/vm/stubgen.cpp Outdated
Comment thread src/vm/stubgen.cpp
Comment thread src/vm/dllimport.h
@jkoritzinsky jkoritzinsky added this to the 5.0 milestone Jul 17, 2019
@jkoritzinsky
jkoritzinsky merged commit 3733800 into dotnet:master Oct 22, 2019
@jkoritzinsky
jkoritzinsky deleted the cleaner-stub-sig-management branch October 22, 2019 21:44
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants