This repository has been archived by the owner on Jan 23, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Use native code slot for default interface methods #25770
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
noahfalk
approved these changes
Jul 19, 2019
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, sorry it took me a while to get to this one
Thank you! |
- So that `MethodDesc::GetNativeCode()` can retrieve the current native code entry point (instead of returning null as before), and code versioning can find a matching code version from the code start address - Interface methods currently require having a precode, so the "method entry point" can't be used to directly store the native code entry point - Reenabled a couple of default interface method tests under GCStress - Other small cleanup Fixes https://github.com/dotnet/coreclr/issues/25690
@kouvel Can this be merged? There's 3 more issues that are likely the same root cause (it's GCStress crashes in default interface tests, even though we haven't touched default interfaces in many months). |
Thanks for rerunning the CI, I'll go ahead and merge |
kouvel
added a commit
to kouvel/coreclr
that referenced
this pull request
Mar 9, 2021
- Partial port of dotnet#25770 to 3.1 (only the main change, excludes unrelated cleanup) - Use native code slot for default interface methods so that `MethodDesc::GetNativeCode()` can retrieve the current native code entry point (instead of returning null as before), and code versioning can find a matching code version from the code start address - Interface methods currently require having a precode, so the "method entry point" can't be used to directly store the native code entry point - Reenabled a couple of default interface method tests under GCStress Fixes https://github.com/dotnet/coreclr/issues/25690
Anipik
pushed a commit
that referenced
this pull request
Mar 11, 2021
…8153) - Partial port of #25770 to 3.1 (only the main change, excludes unrelated cleanup) - Use native code slot for default interface methods so that `MethodDesc::GetNativeCode()` can retrieve the current native code entry point (instead of returning null as before), and code versioning can find a matching code version from the code start address - Interface methods currently require having a precode, so the "method entry point" can't be used to directly store the native code entry point - Reenabled a couple of default interface method tests under GCStress Fixes https://github.com/dotnet/coreclr/issues/25690
echesakov
pushed a commit
that referenced
this pull request
Mar 13, 2021
- Partial port of #25770 to 3.1 (only the main change, excludes unrelated cleanup) - Use native code slot for default interface methods so that `MethodDesc::GetNativeCode()` can retrieve the current native code entry point (instead of returning null as before), and code versioning can find a matching code version from the code start address - Interface methods currently require having a precode, so the "method entry point" can't be used to directly store the native code entry point - Reenabled a couple of default interface method tests under GCStress Fixes https://github.com/dotnet/coreclr/issues/25690
picenka21
pushed a commit
to picenka21/runtime
that referenced
this pull request
Feb 18, 2022
) - So that `MethodDesc::GetNativeCode()` can retrieve the current native code entry point (instead of returning null as before), and code versioning can find a matching code version from the code start address - Interface methods currently require having a precode, so the "method entry point" can't be used to directly store the native code entry point - Reenabled a couple of default interface method tests under GCStress - Other small cleanup Fixes https://github.com/dotnet/coreclr/issues/25690 Commit migrated from dotnet/coreclr@98bf56a
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
MethodDesc::GetNativeCode()
can retrieve the current native code entry point (instead of returning null as before), and code versioning can find a matching code version from the code start addressFixes https://github.com/dotnet/coreclr/issues/25690