Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

jkotas
Copy link
Member

@jkotas jkotas commented Jan 12, 2024

FCThrow is implemented usign HELPER_METHOD_FRAME. All uses of FCThrow need to be removed to fix #95695.

@ghost ghost added the area-VM-coreclr label Jan 12, 2024
@ghost ghost assigned jkotas Jan 12, 2024
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change moves the null check + throw from the C/C++ to C#. The JIT is smart enough to eliminate the null check in number of cases. I was not able to measure any actual perf improvement from that. The CAS operation dominates the perf and the extra null check is noise.

@jkotas
Copy link
Member Author

jkotas commented Jan 12, 2024

This is going to have small conflict with #92974.

FCThrow is implemented usign HELPER_METHOD_FRAME. All
uses of FCThrow need to be removed to fix dotnet#95695.
@jkotas jkotas merged commit 3e2bc17 into dotnet:main Jan 13, 2024
@jkotas jkotas deleted the fcthrow branch January 13, 2024 01:12
tmds pushed a commit to tmds/runtime that referenced this pull request Jan 23, 2024
FCThrow is implemented usign HELPER_METHOD_FRAME. All uses of FCThrow need to be removed to fix dotnet#95695.
@github-actions github-actions bot locked and limited conversation to collaborators Feb 12, 2024
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.

Convert all FCalls with HELPER_METHOD_FRAME to QCalls
3 participants