[wasm] Allow externref parameters in the generic wrapper
With this CL, externref parameters are supported by the generic wrapper. Externref parameters get handled in a separate loop which runs after the loop which converts primitive type parameters from JavaScript values to WebAssembly values. Externref parameters get handled separately because the conversion of primitive type parameters may cause a GC, and it would be hard for the GC to identify stack slots which contain reference parameters which have already been processed. As an optimization we remember in the first loop if we have seen a reference parameter. For functions without a reference parameter we would not iterate the parameters for a second time. R=thibaudm@chromium.org Bug: v8:12565 Change-Id: Ib36bee9d8e6b1606250fcd5f2e9cdbbdfed96356 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3412079Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#78814}
Showing
Please
register
or
sign in
to comment