Fixing COM Aggregation and XAML reference tracking on .NET AOT (#90283)
authorManodasan Wignarajah <manodasan@hotmail.com>
Sun, 13 Aug 2023 20:18:10 +0000 (13:18 -0700)
committerGitHub <noreply@github.com>
Sun, 13 Aug 2023 20:18:10 +0000 (13:18 -0700)
commit9a9d110463bc48c9a4d6e944e8e43d0782e69887
tree6e61cb3dca3e3faee97d57f4d9676c859b8944c3
parentf6d22201603db303d8e7feb4c8c9f27b0dcade6a
Fixing COM Aggregation and XAML reference tracking on .NET AOT (#90283)

* Add initial changes for COM Aggregation and XAML reference tracking in AOT

* Fix dependency list to avoid allocations

* Fix issues with finalizer races and issues with allocating memory during GC

* Add COM weak reference support

* PR feedback on separating reference tracker object fields.

Co-authored-by: Aaron Robinson <arobins@microsoft.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Co-authored-by: Jeremy Koritzinsky <jkoritzinsky@gmail.com>
12 files changed:
src/coreclr/nativeaot/Directory.Build.props
src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/InternalCalls.cs
src/coreclr/nativeaot/Runtime/GCHelpers.cpp
src/coreclr/nativeaot/Runtime/gcrhenv.cpp
src/coreclr/nativeaot/System.Private.CoreLib/src/System.Private.CoreLib.csproj
src/coreclr/nativeaot/System.Private.CoreLib/src/System/ComAwareWeakReference.NativeAot.cs
src/coreclr/nativeaot/System.Private.CoreLib/src/System/Runtime/InteropServices/ComWrappers.NativeAot.cs
src/coreclr/nativeaot/System.Private.CoreLib/src/System/Runtime/InteropServices/TrackerObjectManager.NativeAot.cs [new file with mode: 0644]
src/coreclr/nativeaot/System.Private.CoreLib/src/System/Runtime/RuntimeImports.cs
src/libraries/Common/src/Interop/Windows/Ole32/Interop.CoGetContextToken.cs [new file with mode: 0644]
src/libraries/System.Private.CoreLib/src/Resources/Strings.resx
src/tests/Interop/COM/ComWrappers/API/Program.cs