wasm_component_layer icon indicating copy to clipboard operation
wasm_component_layer copied to clipboard

Implement resource borrow and transfer trampolines

Open juntyr opened this issue 1 year ago • 9 comments

This PR implements resource borrows and transfers for the wasm_component_layer. In particular, it:

  • upgrades all dependencies to the latest version (at the time of writing)
    • does not yet differentiate between stable and unstable WIT interfaces (future work)
  • implements the 32bit UTF8 copy transcoder trampoline
    • other transcoders may be implemented in future work as needed
  • implements the always drop, resource transfer own/borrow, and resource enter/exit call trampolines
    • these trampolines are deduplicated per store
  • automatically creates the needed per-instance flags globals on-demand
    • this follows jco's implementation, since creating them up front always misses some

This PR is only a first step, but - as can be seen from the implementation duration - has survived being used in my project for several months. Merging this PR will expose the added functionality to more users who can implement further usecases (e.g. other transcoder trampolines) as required.

juntyr avatar Feb 05 '24 19:02 juntyr