wasm-micro-runtime/wamr-compiler
Wenyong Huang b038f2721b
Merge pull request #3823 from bytecodealliance/dev/shared_heap
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);
```
2024-10-15 14:26:22 +08:00
..
build_llvm_arc.sh Fix several issues in CI binary releasing (#2064) 2023-03-26 12:19:45 +08:00
build_llvm_xtensa.sh Fix several issues in CI binary releasing (#2064) 2023-03-26 12:19:45 +08:00
build_llvm.py Fix Windows/MSVC build issues (#1498) 2022-09-17 21:16:38 +08:00
build_llvm.sh Fix several issues in CI binary releasing (#2064) 2023-03-26 12:19:45 +08:00
CMakeLists.txt Enable libc-wasi for windows msvc build (#3852) 2024-10-14 09:52:25 +08:00
main.c Implement shared heap for AOT (#3815) 2024-09-29 12:50:59 +08:00
README.md Update document for iwasm/wamrc dependent packages (#2183) 2023-05-08 16:30:56 +08:00

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