You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CoreCLR ReadyToRun code cannot be instantiated dynamically inside a WASI component, so publishing must place the generated R2R core module in the same component as the runtime. A prototype now demonstrates this end to end with a framework-scale composite: crossgen2 emits self-installing data/table segments, the non-PIC host supplies the shared memory/table/globals/tag, and a composition step merges the modules before rebuilding the component.
The remaining work is to integrate that proven path into the wasi-wasm publish pipeline rather than requiring a hand-driven splice.
Proposed scope:
Generate the composite R2R image before linking the per-app WASI host.
Derive the payload size and function-table requirement from that image.
Link the host with exact image and table capacity rather than fixed manual values.
Compose the host and R2R modules into the final WASI component.
Publish the component forwarding stubs alongside the application assemblies.
Preserve interpreter fallback for methods unsupported by wasm R2R.
Add an end-to-end test that proves an R2R method executes rather than accepting a successful interpreted run.
This issue tracks the non-PIC composition path. Emitting a conforming relocatable wasm object for direct wasm-ld integration, and making the complete runtime PIC for dylink.0 composition, are separate architectural follow-ups.
CoreCLR ReadyToRun code cannot be instantiated dynamically inside a WASI component, so publishing must place the generated R2R core module in the same component as the runtime. A prototype now demonstrates this end to end with a framework-scale composite: crossgen2 emits self-installing data/table segments, the non-PIC host supplies the shared memory/table/globals/tag, and a composition step merges the modules before rebuilding the component.
The remaining work is to integrate that proven path into the
wasi-wasmpublish pipeline rather than requiring a hand-driven splice.Proposed scope:
This issue tracks the non-PIC composition path. Emitting a conforming relocatable wasm object for direct
wasm-ldintegration, and making the complete runtime PIC fordylink.0composition, are separate architectural follow-ups.Note
This issue was drafted with GitHub Copilot.