SuperPMI: re-apply JitWasmNyiToR2RUnsupported when ignoring stored config#129026
Conversation
…nfig The asmdiffs-checked-release leg uses -ignoreStoredConfig, which drops the JitWasmNyiToR2RUnsupported=1 setting that crossgen-corelib.proj recorded into the MCH stored config at collection time. The wasm JIT then asserts on unimplemented opcodes (e.g. GT_ASYNC_CONTINUATION) instead of cleanly skipping them as R2R-unsupported. Re-supply the option externally for wasm whenever we pass -ignoreStoredConfig. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
|
@dotnet/wasm-contrib PTAL I also had to manually update the coredistools stored in our azure blob; for some reason these jobs fetch coredistools from the blob rather than copying the proper version from a build and/or fetching it via nuget. This should "really" be the last piece of Wasm SPMI infrastructure for now. |
There was a problem hiding this comment.
Pull request overview
This PR updates the SuperPMI asm-diffs replay path to preserve a wasm-specific JIT behavior when -ignoreStoredConfig is used, by explicitly re-applying JitWasmNyiToR2RUnsupported=1 for wasm targets.
Changes:
- When
--diff_with_releasecauses-ignoreStoredConfigto be passed, add-jitoption force JitWasmNyiToR2RUnsupported=1and-jit2option force JitWasmNyiToR2RUnsupported=1fortarget_arch == "wasm".
|
Failures were #129037. |
|
@adamperlin can you review? It should be quick. |
|
/ba-g known test failures |
The asmdiffs-checked-release leg uses -ignoreStoredConfig, which drops the JitWasmNyiToR2RUnsupported=1 recorded into the MCH stored config at collection time. The wasm JIT then asserts on unimplemented opcodes (e.g. GT_ASYNC_CONTINUATION) instead of cleanly skipping them as R2R-unsupported.
So add back the option externally for wasm whenever we pass -ignoreStoredConfig.
Fixes #129014