Stream: git-wasmtime

Topic: wasmtime / Issue #2001 wasmtime-wiggle: generate function...


view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2020 at 14:44):

pchickey opened Issue #2001:

This is a good beginner issue that is scoped to the wasmtime-wiggle crate, at crates/wiggle/wasmtime.

See also #2000, cc @jedisct1

I propose that wasmtime_wiggle::wasmtime_integration! generate an additional function link_all(&ctx, &Store, &mut Linker) -> Result<(), _> that constructs and links each module struct generated by the macro. This will make it hard to accidentally forget to instantiate and link in a module when maintaining an integration of several witx modules.

<!-- Please try to describe precisely what you would like to do in
Cranelift/Wasmtime and/or expect from it. You can answer the questions below if
they're relevant and delete this text before submitting. Thanks for opening an
issue! -->

Feature

<!-- What is the feature or code improvement you would like to do in
Cranelift/Wasmtime? -->

Benefit

<!-- What is the value of adding this in Cranelift/Wasmtime? -->

Implementation

<!-- Do you have an implementation plan, and/or ideas for data structures or
algorithms to use? -->

Alternatives

<!-- Have you considered alternative implementations? If so, how are they
better or worse than your proposal? -->

view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2020 at 14:57):

pchickey edited Issue #2001:

This is a good beginner issue that is scoped to the wasmtime-wiggle crate, at crates/wiggle/wasmtime.

See also #2000, cc @jedisct1

I propose that wasmtime_wiggle::wasmtime_integration! generate an additional function link_all(ctx, &Store, &mut Linker) -> Result<(), _> that constructs and links each module struct generated by the macro. This will make it hard to accidentally forget to instantiate and link in a module when maintaining an integration of several witx modules.

Frank has pointed out that this is impossible since each module presently requires an owned ctx value, maybe using Rc<> in the ctx type will help here? This could have inadvertently revealed more problems that we hadn't thought of yet.

<!-- Please try to describe precisely what you would like to do in
Cranelift/Wasmtime and/or expect from it. You can answer the questions below if
they're relevant and delete this text before submitting. Thanks for opening an
issue! -->

Feature

<!-- What is the feature or code improvement you would like to do in
Cranelift/Wasmtime? -->

Benefit

<!-- What is the value of adding this in Cranelift/Wasmtime? -->

Implementation

<!-- Do you have an implementation plan, and/or ideas for data structures or
algorithms to use? -->

Alternatives

<!-- Have you considered alternative implementations? If so, how are they
better or worse than your proposal? -->

view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2020 at 14:57):

pchickey edited Issue #2001:

This is a good beginner issue that is scoped to the wasmtime-wiggle crate, at crates/wiggle/wasmtime.

See also #2000, cc @jedisct1

I propose that wasmtime_wiggle::wasmtime_integration! generate an additional function link_all(ctx, &Store, &mut Linker) -> Result<(), _> that constructs and links each module struct generated by the macro. This will make it hard to accidentally forget to instantiate and link in a module when maintaining an integration of several witx modules.

Frank has pointed out that this is impossible since each module presently requires an owned ctx value, maybe using Rc<> in the ctx type will help here? This could have inadvertently revealed more problems that we hadn't thought of yet.


Last updated: Dec 23 2024 at 12:05 UTC