wasm-micro-runtime/core/shared/platform
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
..
alios Enhancements on wasm function execution time statistic (#2985) 2024-01-17 09:51:54 +08:00
android Add vprintf override for android and esp-idf (#3174) 2024-02-22 17:02:46 +08:00
common Implement memory64 for classic interpreter (#3266) 2024-04-02 15:22:07 +08:00
cosmopolitan cosmopolitan: Update compiler and update platform_internal.h (#3079) 2024-01-24 16:04:48 +08:00
darwin Always allocate linear memory using mmap (#3052) 2024-02-02 22:17:44 +08:00
ego Make a workaround for EGO when fstat returns NOT_SUPPORT (#1970) 2023-02-21 11:11:27 +08:00
esp-idf Fix compilation errors on esp-idf platform (#3224) 2024-03-14 21:31:44 +08:00
freebsd Allow using mmap for shared memory if hw bound check is disabled (#3029) 2024-01-16 22:15:55 +08:00
include shared-platform: Remove dependency on shared-utils' bh_memory_remap_slow (#3153) 2024-02-17 13:44:33 +08:00
linux Allow using mmap for shared memory if hw bound check is disabled (#3029) 2024-01-16 22:15:55 +08:00
linux-sgx Always allocate linear memory using mmap (#3052) 2024-02-02 22:17:44 +08:00
nuttx nuttx: Migrate NuttX CMake build for WAMR (#3256) 2024-04-02 08:53:30 +08:00
riot Enhancements on wasm function execution time statistic (#2985) 2024-01-17 09:51:54 +08:00
rt-thread Enhancements on wasm function execution time statistic (#2985) 2024-01-17 09:51:54 +08:00
vxworks Allow using mmap for shared memory if hw bound check is disabled (#3029) 2024-01-16 22:15:55 +08:00
windows Implement the remaining Windows filesystem functions (#3166) 2024-02-28 11:02:42 +08:00
zephyr Fix compilation errors on zephyr platform (#3255) 2024-03-26 17:55:53 +08:00
README.md re-org platform APIs, simplify porting process (#201) 2020-03-16 16:43:57 +08:00

This folder contains the platform abstract layer for multiple platforms. To support a new platform, you can simply create a new folder here and implement all the APIs defined in include folder.

Refer to port_wamr.md for how to port WAMR to a target platform.