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

Move most of the calling-convention return buffer logic into the JIT #12375

Closed
jkoritzinsky opened this issue Mar 29, 2019 · 1 comment · Fixed by #39294
Closed

Move most of the calling-convention return buffer logic into the JIT #12375

jkoritzinsky opened this issue Mar 29, 2019 · 1 comment · Fixed by #39294

Comments

@jkoritzinsky
Copy link
Member

Right now the interop space calculates if a call needs a return buffer for managed->native calls instead of the JIT. In dotnet/coreclr#23145, we taught the interop space how to correctly insert return buffers for member functions on Windows. Most of the logic (except possibly the stdcall member function case used by COM), should be possible to move into the JIT instead of the interop ILStub generation.

See ILMarshaler::EmitMarshalReturnValue for most of the logic. https://github.com/dotnet/coreclr/blob/6b889aba05b8e1ccc9cef793a2d1293e30598453/src/vm/ilmarshalers.h#L567-L801

cc: @jkotas

@JulieLeeMSFT
Copy link
Member

CC @CarolEidt

@ghost ghost locked as resolved and limited conversation to collaborators Jan 2, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants