mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2024-11-26 07:21:54 +00:00
b038f2721b
Implement the shared heap feature for interpreter, aot and llvm jit. Add below runtime APIs: ```C wasm_shared_heap_t wasm_runtime_create_shared_heap(SharedHeapInitArgs *init_args); bool wasm_runtime_attach_shared_heap(wasm_module_inst_t module_inst, wasm_shared_heap_t shared_heap); void wasm_runtime_detach_shared_heap(wasm_module_inst_t module_inst); uint64_t wasm_runtime_shared_heap_malloc(wasm_module_inst_t module_inst, uint64_t size, void **p_native_addr); void wasm_runtime_shared_heap_free(wasm_module_inst_t module_inst, uint64_t ptr); ``` And allow wasm app to call API shared_heap_malloc and shared_heap_free: ```C void *shared_heap_malloc(uint32_t size); void shared_heap_free(void *ptr); ``` |
||
---|---|---|
.. | ||
build_llvm_arc.sh | ||
build_llvm_xtensa.sh | ||
build_llvm.py | ||
build_llvm.sh | ||
CMakeLists.txt | ||
main.c | ||
README.md |
Build wamrc AOT compiler
Both wasm binary file and AOT file are supported by iwasm. The wamrc AOT compiler is to compile wasm binary file to AOT file which can also be run by iwasm. You can execute following commands to build wamrc compiler:
For Linux(Ubuntu 20.04 as an example):
First, make sure necessary dependency are installed:
sudo apt-get install git build-essential cmake g++-multilib libgcc-9-dev lib32gcc-9-dev ccache
cd wamr-compiler
./build_llvm.sh (or "./build_llvm_xtensa.sh" to support xtensa target)
mkdir build && cd build
cmake .. (or "cmake .. -DWAMR_BUILD_PLATFORM=darwin" for MacOS)
make
# wamrc is generated under current directory
For Windows:
cd wamr-compiler
python build_llvm.py
mkdir build && cd build
cmake ..
cmake --build . --config Release
# wamrc.exe is generated under .\Release directory