bytecodealliance / bytecodealliance/sig-embedded

Component model strategy for embedded

Open
#13 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
15
Forks
5
PR merge metrics
No merged PRs in 30d

Description

Dear Chris, sorry for taking quite long to read and reply to your proposal!

I see a potential path to combine preview1 and 0.2/0.3 - by using a core module binary representation of a "component" (this involves the "cm32p2|" naming of symbols https://github.com/WebAssembly/component-model/blob/add-build-targets/design/mvp/BuildTargets.md (and was previously called "wasit2")), potentially even compiled as a shared library (to achieve the relocatability of the data section) - but this sacrifices the insulation between modules. Insulation would require multi-memory, basically the wasip2 module file format is best suited for insulation.

To get the overhead of the canonical ABI down, caller provided buffers described in https://github.com/WebAssembly/component-model/issues/369 are most promising. I clearly aim for reducing the heap memory allocation overhead per call down to zero using the shared memory buffer mechanism because of real-time constraints and functional safety argumentation.

I am sorry, that even though there is good progress on definition and implementation, these technologies are not yet available right now.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.