wasm-micro-runtime/core/iwasm
Su Yihan 2f45f12cd7
Support stringref proposal (#2651)
This PR implements the WebAssembly stringref proposal:
  https://github.com/WebAssembly/stringref

It adds cmake variable `WAMR_BUILD_STRINGREF` to build the feature,
which will enable GC automatically.

The stringref contains two parts:
- `part 1`: add new ref types in WasmGC, add opcode processing in loader and interpreter
- `part 2`: add a library for string representation/encoding/decoding and so on

To reduce the code size introduced to WAMR, this PR only includes `part 1`,
`part 2` can be provided by embedder, they may use their own implementation,
e.g., Wasmnizer-ts uses JSString from QuickJS to implement stringref:
https://github.com/intel/Wasmnizer-ts/blob/main/runtime-library/stringref/stringref_qjs.c

We will submit another PR of `part 2` and make it as a sample rather than WAMR core part.

Signed-off-by: Su Yihan <yihan.su@intel.com>
Co-authored-by: Xu Jun <jun1.xu@intel.com>
2023-10-23 12:45:37 +08:00
..
aot Fix some GC relative issues (#2656) 2023-10-23 10:03:09 +08:00
common Support stringref proposal (#2651) 2023-10-23 12:45:37 +08:00
compilation Fix some GC relative issues (#2656) 2023-10-23 10:03:09 +08:00
doc Merge branch main into dev/gc_refactor (#2114) 2023-04-07 12:01:45 +08:00
fast-jit Merge branch dev/aot_stack_frame into dev/gc_refactor 2023-10-09 14:21:39 +08:00
include Support stringref proposal (#2651) 2023-10-23 12:45:37 +08:00
interpreter Support stringref proposal (#2651) 2023-10-23 12:45:37 +08:00
libraries CI: Enable testing AOT multi-module feature (#2621) 2023-10-08 08:36:49 +08:00
README.md Merge branch main into dev/gc_refactor (#2114) 2023-04-07 12:01:45 +08:00