Skip to content

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

Closed

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

Activity

  1. transferred this issue fromdotnet/coreclron Jan 31, 2020
  2. added this to the Future milestone on Jan 31, 2020
  3. modified the milestones: Future, 6.0.0 on Jul 7, 2020
  4. JulieLeeMSFT commented on Oct 2, 2020

    @JulieLeeMSFT
    Member
  5. ghost locked as resolved and limited conversation to collaborators on Jan 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions