Open slinkydeveloper opened 2 years ago
There may be issues after this, but I guess the main question is how to control the //export
name (ex based on flags). Is templating supported?
https://github.com/tinygo-org/tinygo/blob/release/src/runtime/runtime_wasm_wasi.go#L16
https://github.com/tinygo-org/tinygo/pull/4451 implements reactor mode for wasip1.
Hi all,
I've been experimenting with tinygo having some fun prototyping a go wasm application hosted by wasmtime-java. Unfortunately, I hit a bug/missing feature when trying to access the memory: https://github.com/kawamuray/wasmtime-java/issues/21. As described in that issue, tinygo cannot compile in reactor mode, hence preventing wasmtime-java to access its memory. Although this might be recognized as a limitation of the engine (apparently others, at least from the documentation, can switch the usage mode independently from the exports https://wasmedge.org/book/en/dev/go.html#a-simple-function-run), I think it would be nice if tinygo can support the reactor mode.
I tried to prototype the support myself following what was done for clang https://reviews.llvm.org/D62922 and this is roughly what I needed to come up with a correct export:
wasi.json
adding the ldflag"--entry=_initialize"
_start
to_initialize
: https://github.com/tinygo-org/tinygo/blob/release/src/runtime/runtime_wasm_wasi.go#L15If you want I can also provide a proper PR, but i need some guidance :)