wasm-micro-runtime/core/iwasm/common
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
..
arch Add support for universal binaries on OSX (#2060) 2023-03-30 09:53:07 +08:00
gc GC: Add wasm_struct_obj_get_field_count API (#3236) 2024-03-18 16:26:30 +08:00
iwasm_common.cmake Add support for universal binaries on OSX (#2060) 2023-03-30 09:53:07 +08:00
SConscript Add ia32 support and fix compiling issue for RT-Thread (#730) 2021-09-07 10:20:14 +08:00
wasm_application.c Implement memory64 for classic interpreter (#3266) 2024-04-02 15:22:07 +08:00
wasm_blocking_op.c Implement async termination of blocking thread (#2516) 2023-09-20 18:11:52 +08:00
wasm_c_api_internal.h Return stack frames of crashed thread when using wasm-c-api (#2908) 2024-01-11 12:13:05 +08:00
wasm_c_api.c Implement apis to set and get the name of a wasm module (#3254) 2024-03-26 12:10:13 +08:00
wasm_exec_env.c Refactor APIs and data structures as preliminary work for Memory64 (#3209) 2024-03-12 11:38:50 +08:00
wasm_exec_env.h Refactor APIs and data structures as preliminary work for Memory64 (#3209) 2024-03-12 11:38:50 +08:00
wasm_memory.c Implement memory64 for classic interpreter (#3266) 2024-04-02 15:22:07 +08:00
wasm_memory.h Implement memory64 for classic interpreter (#3266) 2024-04-02 15:22:07 +08:00
wasm_native.c Add wasi_ephemeral_nn module support (#3241) 2024-03-21 21:05:34 +08:00
wasm_native.h Implement GC (Garbage Collection) feature for interpreter, AOT and LLVM-JIT (#3125) 2024-02-06 20:47:11 +08:00
wasm_runtime_common.c Implement memory64 for classic interpreter (#3266) 2024-04-02 15:22:07 +08:00
wasm_runtime_common.h Implement memory64 for classic interpreter (#3266) 2024-04-02 15:22:07 +08:00
wasm_shared_memory.c Fix inconsistent coding convention (#3171) 2024-02-22 10:40:50 +08:00
wasm_shared_memory.h Refine lock/unlock shared memory (#2682) 2023-10-31 11:46:03 +08:00
wasm_suspend_flags.h Do not inherit WASM_SUSPEND_FLAG_BLOCKING from the parent thread (#3051) 2024-01-19 09:55:01 +08:00