wasm-micro-runtime/core/iwasm/interpreter
Wenyong Huang a23fa9f86c
Implement memory64 for classic interpreter (#3266)
Adding a new cmake flag (cache variable) `WAMR_BUILD_MEMORY64` to enable
the memory64 feature, it can only be enabled on the 64-bit platform/target and
can only use software boundary check. And when it is enabled, it can support both
i32 and i64 linear memory types. The main modifications are:

- wasm loader & mini-loader: loading and bytecode validating process 
- wasm runtime: memory instantiating process
- classic-interpreter: wasm code executing process
- Support memory64 memory in related runtime APIs
- Modify main function type check when it's memory64 wasm file
- Modify `wasm_runtime_invoke_native` and `wasm_runtime_invoke_native_raw` to
  handle registered native function pointer argument when memory64 is enabled
- memory64 classic-interpreter spec test in `test_wamr.sh` and in CI

Currently, it supports memory64 memory wasm file that uses core spec
(including bulk memory proposal) opcodes and threads opcodes.

ps.
https://github.com/bytecodealliance/wasm-micro-runtime/issues/3091
https://github.com/bytecodealliance/wasm-micro-runtime/pull/3240
https://github.com/bytecodealliance/wasm-micro-runtime/pull/3260
2024-04-02 15:22:07 +08:00
..
iwasm_interp.cmake Implement wasm mini loader and refine footprint of loader and runtime (#276) 2020-06-08 11:19:09 +08:00
SConscript add porting codes of rt-thread (#494) 2021-01-14 11:26:35 +08:00
wasm_interp_classic.c Implement memory64 for classic interpreter (#3266) 2024-04-02 15:22:07 +08:00
wasm_interp_fast.c Remove unused argument in wasm_runtime_lookup_function and refactor WASMModuleInstance (#3218) 2024-03-13 12:28:45 +08:00
wasm_interp.h Implement GC (Garbage Collection) feature for interpreter, AOT and LLVM-JIT (#3125) 2024-02-06 20:47:11 +08:00
wasm_loader.c Implement memory64 for classic interpreter (#3266) 2024-04-02 15:22:07 +08:00
wasm_loader.h Fix build error when enable custom section without interpreter (#1229) 2022-06-15 18:14:39 +08:00
wasm_mini_loader.c Implement memory64 for classic interpreter (#3266) 2024-04-02 15:22:07 +08:00
wasm_opcode.h Implement GC (Garbage Collection) feature for interpreter, AOT and LLVM-JIT (#3125) 2024-02-06 20:47:11 +08:00
wasm_runtime.c Implement memory64 for classic interpreter (#3266) 2024-04-02 15:22:07 +08:00
wasm_runtime.h Implement memory64 for classic interpreter (#3266) 2024-04-02 15:22:07 +08:00
wasm.h Implement memory64 for classic interpreter (#3266) 2024-04-02 15:22:07 +08:00