Skip to content

Convert all FCalls with HELPER_METHOD_FRAME to QCalls #95695

@jkotas

Description

@jkotas

Benefits:

  • Performance: QCalls are generally faster than FCalls with HELPER_METHOD_FRAME
  • Eliminate duplication: These are redundant mechanism. Once all of them are converted, we can eliminate the duplication.
  • Complexity of stackwalking algorithm: HELPER_METHOD_FRAMEs make the stackwalking algorithm with all its dependencies more complicated than it needs to be. (See nibblemapmacros do a linear scan #93550 for more context.)
    • We want to work towards unification of CoreCLR stackwalker and native AOT stackwalker. Native AOT has much simpler stackwalker and it does not have HELPER_METHOD_FRAMEs.

Work

List of JIT helpers that need the removal of explicit HMFs:

List of JIT helpers with implicit HMFs through a use of FCThrow.

Remove all remaining explicit calls to GCPoll (that is, FC_GC_POLL and FC_GC_POLL_RET):

The following clean-up can occur after all the above is complete:

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-VM-coreclrin-prThere is an active PR which will close this issue when it is merged

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions