Skip to content

[Experiment] Allocate MethodTables on a dedicated loader heap - #133359

Closed
EgorBo wants to merge 5 commits into
dotnet:mainfrom
EgorBo:experiment-methodtable-heap
Closed

[Experiment] Allocate MethodTables on a dedicated loader heap#133359
EgorBo wants to merge 5 commits into
dotnet:mainfrom
EgorBo:experiment-methodtable-heap

Conversation

@EgorBo

@EgorBo EgorBo commented Sep 7, 2026

Copy link
Copy Markdown
Member

Explore metadata locality with a dedicated per-LoaderAllocator heap for MethodTable blocks. Preserves layouts, unloading, and the initial reservation; updates SOS/DAC/cDAC reporting. Prefetches MethodTables at x64/ARM64 allocator entry to overlap the TLS lookup.

Loader:c1 is preserved: MethodTableHeap is optional and enumerated only when present, retaining compatibility with earlier .NET 11 dumps. No Loader:c2 is needed for this additive extension, and no SOS/DAC interface version changes.

AI-generated with Copilot.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3abe84b1-120b-43e6-aaad-55c88491d3c9
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 5 pipeline(s).
11 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

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

EgorBo and others added 3 commits September 7, 2026 17:57
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3abe84b1-120b-43e6-aaad-55c88491d3c9
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3abe84b1-120b-43e6-aaad-55c88491d3c9
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3abe84b1-120b-43e6-aaad-55c88491d3c9
@EgorBo

EgorBo commented Sep 7, 2026

Copy link
Copy Markdown
Member Author

@EgorBot orchard -linux_amd -aws_graviton5 -profiler -gcprofiler

@EgorBo

EgorBo commented Sep 7, 2026

Copy link
Copy Markdown
Member Author

@EgorBot orchard -linux_amd -aws_arm

@EgorBo

EgorBo commented Sep 7, 2026

Copy link
Copy Markdown
Member Author

@EgorBot orchard -linux_amd -aws_arm -profiler

@EgorBo

EgorBo commented Sep 7, 2026

Copy link
Copy Markdown
Member Author

Hard to tell if it's worth it. But prefetch instruction definitely regresses perf.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant