Skip to content

Use hardcoded IIDs for all well known IReferenceArray<T> types#1402

Merged
Sergio0694 merged 3 commits intostaging/AOTfrom
dev/reference-array-iids
Dec 1, 2023
Merged

Use hardcoded IIDs for all well known IReferenceArray<T> types#1402
Sergio0694 merged 3 commits intostaging/AOTfrom
dev/reference-array-iids

Conversation

@Sergio0694
Copy link
Member

This PR adds precomputed IIDs to InterfaceIIDs for all well known IReferenceArray<T> types used in ComWrappersSupport, and replaces all calls to GuidGenerator.GetIID with these constants. Couldn't remove all the additional cruft in IReferenceArray<T> yet because there's the generic path that's still using that, but this is a step in the right direction. We'll have to revisit that later anyway given it's 100% not AOT compatible (due to MakeGenericType).

@Sergio0694 Sergio0694 added performance Related to performance work trimming labels Dec 1, 2023
@Sergio0694 Sergio0694 force-pushed the dev/reference-array-iids branch from 4ec5601 to 75cb090 Compare December 1, 2023 12:35
@@ -776,135 +776,135 @@ private static ComInterfaceEntry ProvideIReferenceArray(Type arrayType)
{
Copy link
Member Author

Choose a reason for hiding this comment

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

There's also some whitespace normalization.

REVIEW WITH SHOW WHITESPACE OFF

@Sergio0694 Sergio0694 merged commit 28f09d7 into staging/AOT Dec 1, 2023
@Sergio0694 Sergio0694 deleted the dev/reference-array-iids branch December 1, 2023 23:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

performance Related to performance work trimming

3 participants