[Wasm RyuJit] More codegen and fixes for crossgen replay#124362
Merged
AndyAyersMS merged 8 commits intodotnet:mainfrom Feb 14, 2026
Merged
[Wasm RyuJit] More codegen and fixes for crossgen replay#124362AndyAyersMS merged 8 commits intodotnet:mainfrom
AndyAyersMS merged 8 commits intodotnet:mainfrom
Conversation
Member
Author
|
@dotnet/jit-contrib PTAL |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR implements additional codegen support and fixes for WebAssembly RyuJIT compilation, particularly to enable crossgen replay functionality. The changes focus on implementing missing instruction node types and relaxing exception handling assumptions for the WASM target's non-contiguous try region layout.
Changes:
- Implements codegen for GT_INDEX_ADDR (no bounds check case), GT_LEA, GT_MEMORYBARRIER (no-op), and GT_RETFILT nodes
- Adds SPMI workaround to allow cross-platform replay by providing a fake handle for WASM type symbols when replaying non-WASM traces
- Relaxes exception handling verification checks to account for WASM's non-contiguous try regions after layout
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/coreclr/tools/superpmi/superpmi-shared/methodcontext.cpp | Adds null check to return fake handle for WASM type symbols during cross-replay scenarios |
| src/coreclr/jit/targetwasm.h | Defines WASM_THREAD_SUPPORT constant to document that codegen doesn't support multi-threading yet |
| src/coreclr/jit/jiteh.cpp | Relaxes exception handler verification assertions when try regions are non-contiguous (WASM-specific) |
| src/coreclr/jit/fgdiagnostic.cpp | Relaxes finally-return predecessor check when try regions are non-contiguous |
| src/coreclr/jit/codegenwasm.cpp | Implements codegen for GT_INDEX_ADDR, GT_LEA, GT_MEMORYBARRIER (no-op), and GT_RETFILT; adds INS_I_mul constants |
This was referenced Feb 13, 2026
kg
reviewed
Feb 14, 2026
kg
approved these changes
Feb 14, 2026
Member
Author
|
/ba-g timeouts in some builds |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implement codegen for
Add an SPMI workaround for type symbol lookup.
Relax some checks that assume try regions remain contiguous.