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);
```
This commit is contained in:
@ -578,6 +578,15 @@ jobs:
|
||||
./run.sh test1
|
||||
./run.sh test2
|
||||
|
||||
- name: Build Sample [shared-heap]
|
||||
run: |
|
||||
cd samples/shared-heap
|
||||
mkdir build && cd build
|
||||
cmake ..
|
||||
cmake --build . --config Debug --parallel 4
|
||||
./shared_heap_test
|
||||
./shared_heap_test --aot
|
||||
|
||||
test:
|
||||
needs:
|
||||
[
|
||||
|
||||
9
.github/workflows/compilation_on_macos.yml
vendored
9
.github/workflows/compilation_on_macos.yml
vendored
@ -386,3 +386,12 @@ jobs:
|
||||
./build.sh
|
||||
./run.sh test1
|
||||
./run.sh test2
|
||||
|
||||
- name: Build Sample [shared-heap]
|
||||
run: |
|
||||
cd samples/shared-heap
|
||||
mkdir build && cd build
|
||||
cmake ..
|
||||
cmake --build . --config Debug --parallel 4
|
||||
./shared_heap_test
|
||||
./shared_heap_test --aot
|
||||
|
||||
9
.github/workflows/nightly_run.yml
vendored
9
.github/workflows/nightly_run.yml
vendored
@ -593,6 +593,15 @@ jobs:
|
||||
exit $?
|
||||
working-directory: ./wamr-app-framework/samples/simple
|
||||
|
||||
- name: Build Sample [shared-heap]
|
||||
run: |
|
||||
cd samples/shared-heap
|
||||
mkdir build && cd build
|
||||
cmake ..
|
||||
cmake --build . --config Debug --parallel 4
|
||||
./shared_heap_test
|
||||
./shared_heap_test --aot
|
||||
|
||||
test:
|
||||
needs:
|
||||
[
|
||||
|
||||
Reference in New Issue
Block a user