With latest Wasm3 (v0.4.9), new API is available which fixes many things in the public API:
Exported function signature introspection
Introspection of imported functions (see _ctx argument)
Public api for calls with raw arguments (instead of strings)
Public API to get return values
Support recursive m3_Call invocation. I.e. calling exported function from within imported function callback.
m3_RunStart can be used to force the module initialization.
I think all this can greatly help your bindings implementation.
@matiasinsaurralde please let me know it you need any other public API, or have any ideas!
Hi, I would like to follow up with this in the upcoming weeks, the new version looks exciting. Would be great to get up to speed with the latest changes and set up a process to follow fresh releases.
With latest Wasm3 (v0.4.9), new API is available which fixes many things in the public API:
_ctx
argument)m3_Call
invocation. I.e. calling exported function from within imported function callback.m3_RunStart
can be used to force the module initialization.I think all this can greatly help your bindings implementation. @matiasinsaurralde please let me know it you need any other public API, or have any ideas!
This is already implemented in Python bindings, you can use it as a reference: https://github.com/wasm3/wasm3/blob/master/platforms/python/m3module.c