wasm-micro-runtime/samples/shared-module
YAMAMOTO Takashi 562a5dd1b6
Fix data/elem drop (#2747)
Currently, `data.drop` instruction is implemented by directly modifying the
underlying module. It breaks use cases where you have multiple instances
sharing a single loaded module. `elem.drop` has the same problem too.

This PR  fixes the issue by keeping track of which data/elem segments have
been dropped by using bitmaps for each module instances separately, and
add a sample to demonstrate the issue and make the CI run it.

Also add a missing check of dropped elements to the fast-jit `table.init`.

Fixes: https://github.com/bytecodealliance/wasm-micro-runtime/issues/2735
Fixes: https://github.com/bytecodealliance/wasm-micro-runtime/issues/2772
2023-11-18 08:50:16 +08:00
..
src Fix data/elem drop (#2747) 2023-11-18 08:50:16 +08:00
wasm-apps Fix data/elem drop (#2747) 2023-11-18 08:50:16 +08:00
.gitignore Fix data/elem drop (#2747) 2023-11-18 08:50:16 +08:00
build.sh Fix data/elem drop (#2747) 2023-11-18 08:50:16 +08:00
CMakeLists.txt Fix data/elem drop (#2747) 2023-11-18 08:50:16 +08:00
README.md Fix data/elem drop (#2747) 2023-11-18 08:50:16 +08:00
run.sh Fix data/elem drop (#2747) 2023-11-18 08:50:16 +08:00

The "shared-module" sample project

This sample demonstrates a bug described in: https://github.com/bytecodealliance/wasm-micro-runtime/issues/2735.