Skip to content

[release/11.0] [cDAC] Export interpreter JIT manager descriptor - #134207

Open
github-actions[bot] wants to merge 1 commit into
release/11.0from
backport/pr-134190-to-release/11.0
Open

github-actions[bot] wants to merge 1 commit into
release/11.0from
backport/pr-134190-to-release/11.0

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Backport of #134190 to release/11.0

/cc @max-charlamb

Customer Impact

  • Customer reported
  • Found internally

Without this descriptor, cDAC readers cannot discover the InterpreterJitManager directly. This prevents the reader work in #134072 from enumerating interpreter-owned code heaps, which can cause interpreter metadata to be omitted from dumps and prevent interpreter stack frames from being resolved correctly.

The issue affects .NET 11 CoreCLR builds with FEATURE_INTERPRETER.

Regression

  • Yes
  • No

This is missing functionality required for the new .NET 11 interpreter and cDAC support, rather than a regression from previously supported behavior.

Testing

The change was validated by building CoreCLR with:

build.cmd clr.native /p:UseSharedCompilation=false

The build completed with 0 warnings and 0 errors.

The corresponding reader implementation in #134072 also includes unit tests and a dump-based integration test using an interpreter-enabled process. The dump test verifies that cDAC can discover the interpreter JIT manager and enumerate its code heaps.

Risk

Low.

The change only adds an optional data-descriptor global under FEATURE_INTERPRETER. It does not modify runtime behavior, object layout, or existing descriptor entries. Older readers ignore the additional global, while newer readers can use it to locate the existing process-wide InterpreterJitManager.

IMPORTANT: If this backport is for a servicing release, please verify that:

  • For .NET 8 and .NET 9: The PR target branch is release/X.0-staging, not release/X.0.
  • For .NET 10+: The PR target branch is release/X.0 (no -staging suffix).

Package authoring no longer needed in .NET 9

IMPORTANT: Starting with .NET 9, you no longer need to edit a NuGet package's csproj to enable building and bump the version.
Keep in mind that we still need package authoring in .NET 8 and older versions.

Expose `ExecutionManager::m_pInterpreterJitManager` as the optional
`InterpreterJitManagerAddress` cDAC data-descriptor global when CoreCLR
is built with `FEATURE_INTERPRETER`.

Will be used by #134072 for cDAC dump enumeration.

Co-authored-by: Max Charlamb <maxcharlamb@microsoft.com>
Copilot-Session: b507532c-3857-4e61-86a9-69fe22ec157b
@azure-pipelines

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

@steveisok steveisok added the Servicing-approved Approved for servicing release label Sep 18, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @BrzVlad, @janvorli
See info in area-owners.md if you want to be subscribed.

@jkotas

jkotas commented Sep 18, 2026

Copy link
Copy Markdown
Member

The issue affects .NET 11 CoreCLR builds with FEATURE_INTERPRETER.

The only shipping .NET 11 build with FEATURE_INTERPRETER is iOS. Is cDAC for iOS a scenario in .NET 11?

@max-charlamb

Copy link
Copy Markdown
Member

The issue affects .NET 11 CoreCLR builds with FEATURE_INTERPRETER.

The only shipping .NET 11 build with FEATURE_INTERPRETER is iOS. Is cDAC for iOS a scenario in .NET 11?

No, iOS for cDAC is not a shipping scenario in 11. We can hold off on this change until 12.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants