Skip to content

Implement ReadyToRunHelperNode for WASM - #133739

Draft
jtschuster with Copilot wants to merge 7 commits into
mainfrom
copilot/implement-readytorunhelpernode-for-wasm
Draft

Implement ReadyToRunHelperNode for WASM#133739
jtschuster with Copilot wants to merge 7 commits into
mainfrom
copilot/implement-readytorunhelpernode-for-wasm

Conversation

Copilot AI commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Adds WASM code emission for ReadyToRun static-base, delegate-construction, and virtual-function helpers.

  • Registers WASM function signatures with dependency analysis.
  • Emits architecture-equivalent WASM helper bodies.
  • Preserves shadow-stack and portable-entrypoint arguments across managed tail calls.

Note

This description was generated by GitHub Copilot.

@azure-pipelines

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

Copilot AI linked an issue Sep 11, 2026 that may be closed by this pull request
@github-actions github-actions Bot added needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners area-ReadyToRun and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Sep 11, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/crossgen-contrib
See info in area-owners.md if you want to be subscribed.

Co-authored-by: jtschuster <36744439+jtschuster@users.noreply.github.com>
Copilot AI changed the title [WIP] Implement ReadyToRunHelperNode for WASM Implement ReadyToRunHelperNode for WASM Sep 11, 2026
Copilot AI requested a review from jtschuster September 11, 2026 21:03
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @agocke, @dotnet/ilc-contrib
See info in area-owners.md if you want to be subscribed.

Copilot AI and others added 2 commits September 12, 2026 00:18
Co-authored-by: jtschuster <36744439+jtschuster@users.noreply.github.com>
Co-authored-by: jtschuster <36744439+jtschuster@users.noreply.github.com>
Comment on lines +168 to +174
if (factory.Target.IsWasm)
{
dependencyList ??= new DependencyList();
dependencyList.Add(factory.WasmTypeNode(this), "Wasm ReadyToRun helper signature");
}

return dependencyList;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@copilot can we make the case in ObjectNode check for INodeWithTypeSignature instead of IMethodCodeNodeWithTypeSignature so we can have the dependency added there?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Updated in the latest commit: ObjectNode now checks INodeWithTypeSignature and adds the WASM signature dependency centrally; the helper-specific dependency was removed.

Note

This reply was generated by GitHub Copilot.

Co-authored-by: jtschuster <36744439+jtschuster@users.noreply.github.com>
Comment on lines +126 to +127
DependencyList dependencyList = null;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@copilot could you revert the changes moving around dependencyList?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Reverted the dependencyList movement in bbfadc8a; the method now uses its original branch-local declarations and returns.

Note

This reply was generated by GitHub Copilot.

Co-authored-by: jtschuster <36744439+jtschuster@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

Implement ReadyToRunHelperNode for WASM

3 participants