mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-10-24 09:51:17 +00:00
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);
```
|
||
|---|---|---|
| .. | ||
| arch | ||
| gc | ||
| iwasm_common.cmake | ||
| SConscript | ||
| wasm_application.c | ||
| wasm_blocking_op.c | ||
| wasm_c_api_internal.h | ||
| wasm_c_api.c | ||
| wasm_exec_env.c | ||
| wasm_exec_env.h | ||
| wasm_loader_common.c | ||
| wasm_loader_common.h | ||
| wasm_memory.c | ||
| wasm_memory.h | ||
| wasm_native.c | ||
| wasm_native.h | ||
| wasm_runtime_common.c | ||
| wasm_runtime_common.h | ||
| wasm_shared_memory.c | ||
| wasm_shared_memory.h | ||
| wasm_suspend_flags.h | ||