-
Notifications
You must be signed in to change notification settings - Fork 104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Address issues discovered after fixing AOT warnings #1511
Merged
manodasanW
merged 4 commits into
user/sergiopedri/guard-mgt-calls
from
manodasanw/aotwarningfix
Feb 22, 2024
Merged
Address issues discovered after fixing AOT warnings #1511
manodasanW
merged 4 commits into
user/sergiopedri/guard-mgt-calls
from
manodasanw/aotwarningfix
Feb 22, 2024
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
Sergio0694
reviewed
Feb 22, 2024
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.
Did a first review pass, looks good so far! Couple questions 😄
Sergio0694
approved these changes
Feb 22, 2024
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!
Sergio0694
pushed a commit
that referenced
this pull request
Feb 22, 2024
* Fix build breaks from AOT warning fixes * Improvements to GUID helper type lookup to avoid needing instantiated generic type * Move around where helper type is initialized to handle more scenarios * Remove commented code
manodasanW
added a commit
that referenced
this pull request
Feb 29, 2024
* Fix build breaks from AOT warning fixes * Improvements to GUID helper type lookup to avoid needing instantiated generic type * Move around where helper type is initialized to handle more scenarios * Remove commented code
Sergio0694
pushed a commit
that referenced
this pull request
Feb 29, 2024
* Fix build breaks from AOT warning fixes * Improvements to GUID helper type lookup to avoid needing instantiated generic type * Move around where helper type is initialized to handle more scenarios * Remove commented code
Sergio0694
pushed a commit
that referenced
this pull request
Mar 12, 2024
* Fix build breaks from AOT warning fixes * Improvements to GUID helper type lookup to avoid needing instantiated generic type * Move around where helper type is initialized to handle more scenarios * Remove commented code
Sergio0694
added a commit
that referenced
this pull request
Mar 13, 2024
* Guard MGT(Type) calls on NativeAOT * Set IsAotCompatible, treat AOT warnings as errors * Add throw paths on AOT for MarshalNonBlittable<T> * Make ManagedIPropertyValueImpl.UnboxValue AOT-safe * Fix all AOT warnings in WinRT.Runtime * Centralize [RDC] messages in TrimmingAttributeMessages * Fail build for AOT warnings in authoring test project * Replace Marshal.SizeOf<T>() with sizeof(T) on .NET 6+ * Address issues discovered after fixing AOT warnings (#1511) * Fix build breaks from AOT warning fixes * Improvements to GUID helper type lookup to avoid needing instantiated generic type * Move around where helper type is initialized to handle more scenarios * Remove commented code * Fix IL2073 warning in 'FindHelperType' * Centralize attribute constants in 'AttributeMessages' * Fix nullable and IPropertySet scenarios (#1519) * Experiment with changes to avoid nullable.value going down the helper type route * Fix build * Fix nullable structs and delegates * Fix * Fix tests * Fix issue where the class implementing the interface can be trimmed and we rely on IDIC cast to create an instance of the interface. But that doesn't work with the interface inherits generic interfaces on AOT. This addresses that by making sure there is a fallback class available to use for the interface. * Fix warning * Improvements to nullable scenario (caching and removing old code paths) * Move where we do generic type initialization for derived generic interfaces impl class * Fix issue with Interface<> missing in impl classes by converting most of the remaining ones using it to the new format * Add test * PR feedback * PR feedback for IID --------- Co-authored-by: Manodasan Wignarajah <mawign@microsoft.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR addresses the issues that came up after AOT checks were added to all our
MakeGenericType
calls. The main issue that came up is the helper type for generic types can no longer be constructed. This was addressed in two ways.MarshalInterface
calls, the helper type is registered before it gets there via theMethods
static classes in their static constructor which gets triggered as part of the generic type instantiations.MakeGenericType
calls. The generic itself is still used as part of the IID generation but is done separately as it was before too as part of combining the signature that gets hashed.