Currently the internal API for Wasm GC struct objects is set up so that the `set` operation takes a `JSValue` and coerces it to a Wasm value. I think this internal API was motivated initially by the JS API or by specific JS->Wasm use cases, but it adds overhead unnecessarily to engine-internal uses such as in various C++ Wasm operations because of the extra `toJSValue` call that's necessary. This could be solved by either adding a new function (or renaming `set` and repurposing it) that doesn't do this coercion and requires the value to already be a wasm value, or by changing `set` to not do the coercion.
<rdar://problem/115060953>
Committed 268211@main (daaaece7a06e): <https://commits.webkit.org/268211@main> Reviewed commits have been landed. Closing PR #17364 and removing active labels.