Wasm GC proposal introduces structs (https://github.com/WebAssembly/gc/blob/main/proposals/gc/MVP.md#structures) To enhance support of Wasm GC proposal in JSC this patch supports struct.new, struct.get and struct.set operations. These operations have been chosen because it is convenient to test it together and hard to test it separately. Current implementation isn't optimal, at least for B3 and Air tiers, but optimization (replacing runtime call to a load by known offset) for struct.get/set could be easily added as a next step.
Created attachment 461243 [details] Patch
Created attachment 461245 [details] Patch
Created attachment 461246 [details] Patch
This patch modifies one of the wasm.json files. Please ensure that any changes in one have been mirrored to the other. You can find the wasm.json files at "Source/JavaScriptCore/wasm/wasm.json" and "JSTests/wasm/wasm.json".
<rdar://problem/97971445>
Pull request: https://github.com/WebKit/WebKit/pull/3303
Committed 255586@main (481cb6061b39): <https://commits.webkit.org/255586@main> Reviewed commits have been landed. Closing PR #3303 and removing active labels.
Re-opening for pull request https://github.com/WebKit/WebKit/pull/5421
Committed 255592@main (463d09c7e89e): <https://commits.webkit.org/255592@main> Reviewed commits have been landed. Closing PR #5421 and removing active labels.