wasm-micro-runtime/core/iwasm/interpreter
Wenyong Huang 7c7684819d
Register quick call entries to speedup the aot/jit func call process (#2978)
In some scenarios there may be lots of callings to AOT/JIT functions from the
host embedder, which expects good performance for the calling process, while
in the current implementation, runtime calls the wasm_runtime_invoke_native
to prepare the array of registers and stacks for the invokeNative assemble code,
and the latter then puts the elements in the array to physical registers and
native stacks and calls the AOT/JIT function, there may be many data copying
and handlings which impact the performance.

This PR registers some quick AOT/JIT entries for some simple wasm signatures,
and let runtime call the entry to directly invoke the AOT/JIT function instead of
calling wasm_runtime_invoke_native, which speedups the calling process.

We may extend the mechanism next to allow the developer to register his quick
AOT/JIT entries to speedup the calling process of invoking the AOT/JIT functions
for some specific signatures.
2024-01-10 16:44:09 +08:00
..
iwasm_interp.cmake Implement wasm mini loader and refine footprint of loader and runtime (#276) 2020-06-08 11:19:09 +08:00
SConscript add porting codes of rt-thread (#494) 2021-01-14 11:26:35 +08:00
wasm_interp_classic.c Register quick call entries to speedup the aot/jit func call process (#2978) 2024-01-10 16:44:09 +08:00
wasm_interp_fast.c interpreter: Simplify memory.grow a bit (#2899) 2023-12-12 20:24:51 +08:00
wasm_interp.h Fix issue of restoring wasm operand stack (#1721) 2022-11-18 18:51:13 +08:00
wasm_loader.c Register quick call entries to speedup the aot/jit func call process (#2978) 2024-01-10 16:44:09 +08:00
wasm_loader.h Fix build error when enable custom section without interpreter (#1229) 2022-06-15 18:14:39 +08:00
wasm_mini_loader.c Register quick call entries to speedup the aot/jit func call process (#2978) 2024-01-10 16:44:09 +08:00
wasm_opcode.h Fix data races in atomic wait/notify and interp goto table (#1971) 2023-02-22 11:43:49 +08:00
wasm_runtime.c Refine LLVM JIT function call process (#2925) 2024-01-02 18:46:02 +08:00
wasm_runtime.h Change is_shared_memory type from bool to uint8 (#2800) 2023-11-22 10:38:08 +08:00
wasm.h Register quick call entries to speedup the aot/jit func call process (#2978) 2024-01-10 16:44:09 +08:00