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

Cleanup ILStub signature delta management #23572

Merged
merged 4 commits into from
Oct 22, 2019

Conversation

jkoritzinsky
Copy link
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
Member Author

/azp run coreclr-ci

@azure-pipelines
Copy link

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.
src/vm/stubgen.cpp Outdated Show resolved Hide resolved
src/vm/stubgen.cpp Outdated Show resolved Hide resolved
src/vm/stubgen.cpp Show resolved Hide resolved
src/vm/dllimport.h Show resolved Hide resolved
@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