Skip to content
This repository was archived by the owner on Aug 17, 2022. It is now read-only.
This repository was archived by the owner on Aug 17, 2022. It is now read-only.

Interface Types and Isolation? #99

Open
@kripken

Description

@kripken

Is Interface Types an isolation mechanism, or an interfacing mechanism? @tlively and I were surprised to hear from @fgmccabe that a wasm module using IT should not be able to share its memory with other modules, which led to some discussion and now this issue.

An example of a concrete use case for sharing memory: Imagine a game engine that has some compiled script language code as well (e.g. the engine might be C++ and the script language could be C# or Python). It might be nice to link the compiled game engine and the compiled script code and hook them up using IT. But in this case we'd want to share large amounts of memory between them, for example a script plugin might render the game's UI, or generate audio samples. We would want to use IT to avoid the engine rolling its own string, array, etc. conversions and just use IT there, but we would not want to use it for everything. For large binary data we'd like to just share memory (and are willing to take the risks).

More generally, we would like to allow Interface Types to be used for some interactions between two modules while preserving the ability for those two modules to drop down to the current style of coordination for other interactions.

Thoughts?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions