Skip to content

Move pinned heap handle table from BaseDomain to AppDomain and make callers go through the AppDomain#107420

Merged
elinor-fung merged 2 commits intodotnet:mainfrom
elinor-fung:empty-base-domain
Sep 6, 2024
Merged

Move pinned heap handle table from BaseDomain to AppDomain and make callers go through the AppDomain#107420
elinor-fung merged 2 commits intodotnet:mainfrom
elinor-fung:empty-base-domain

Conversation

@elinor-fung
Copy link
Member

@elinor-fung elinor-fung commented Sep 5, 2024

  • Move the pinned heap handle table to AppDomain
    • This does make the current use in the GlobalLoaderAllocator (went through SystemDomain) and in EnC adding a static field (went through AppDomain) use the same table.
  • Move GetLoaderAllocator (it already always returns the global one), IsStringInterned, GetOrInternString functions from BaseDomain to AppDomain

cc @jkotas @AaronRobinsonMSFT

@dotnet-policy-service
Copy link
Contributor

Tagging subscribers to this area: @tommcdon
See info in area-owners.md if you want to be subscribed.

@AaronRobinsonMSFT
Copy link
Member

This does make the current use in the GlobalLoaderAllocator (went through SystemDomain) and in EnC adding a static field (went through AppDomain) use the same table.

This should be fine. I believe the lifetimes are the same and EnC for static fields was on AppDomain for unloading purposes in .NET Framework, so no longer interesting.

@elinor-fung elinor-fung merged commit 6092b21 into dotnet:main Sep 6, 2024
@elinor-fung elinor-fung deleted the empty-base-domain branch September 6, 2024 17:13
jtschuster pushed a commit to jtschuster/runtime that referenced this pull request Sep 17, 2024
…ke callers go through the `AppDomain` (dotnet#107420)

- Move the pinned heap handle table to `AppDomain`
  - This does make the current use in the `GlobalLoaderAllocator` (went through `SystemDomain`) and in EnC adding a static field (went through `AppDomain`) use the same table. They have the same lifetime.
- Move `GetLoaderAllocator` (it already always returns the global one), `IsStringInterned`, `GetOrInternString`  functions from `BaseDomain` to `AppDomain`
sirntar pushed a commit to sirntar/runtime that referenced this pull request Sep 30, 2024
…ke callers go through the `AppDomain` (dotnet#107420)

- Move the pinned heap handle table to `AppDomain`
  - This does make the current use in the `GlobalLoaderAllocator` (went through `SystemDomain`) and in EnC adding a static field (went through `AppDomain`) use the same table. They have the same lifetime.
- Move `GetLoaderAllocator` (it already always returns the global one), `IsStringInterned`, `GetOrInternString`  functions from `BaseDomain` to `AppDomain`
@github-actions github-actions bot locked and limited conversation to collaborators Oct 7, 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.

3 participants