Skip to content

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

Closed
@jkoritzinsky

Description

@jkoritzinsky

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions