wasm-micro-runtime/core/iwasm/common
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
..
arch Add support for universal binaries on OSX (#2060) 2023-03-30 09:53:07 +08:00
iwasm_common.cmake Add support for universal binaries on OSX (#2060) 2023-03-30 09:53:07 +08:00
SConscript Add ia32 support and fix compiling issue for RT-Thread (#730) 2021-09-07 10:20:14 +08:00
wasm_application.c Fix printing ref.extern addresses in wasm_application.c (#2774) 2023-11-16 15:10:58 +08:00
wasm_blocking_op.c Implement async termination of blocking thread (#2516) 2023-09-20 18:11:52 +08:00
wasm_c_api_internal.h Refine wasm-c-api wasm_func_call (#2922) 2023-12-26 11:05:31 +08:00
wasm_c_api.c Allow to set segue flags for wasm-c-api JIT (#2926) 2024-01-02 19:34:18 +08:00
wasm_exec_env.c Extend os_mmap to support map file from fd (#2763) 2023-11-16 08:28:54 +08:00
wasm_exec_env.h Grab cluster->lock when modifying exec_env->module_inst (#2685) 2023-11-09 18:56:02 +08:00
wasm_memory.c Access linear memory size atomically (#2834) 2023-11-29 20:27:17 +08:00
wasm_memory.h Access linear memory size atomically (#2834) 2023-11-29 20:27:17 +08:00
wasm_native.c Register quick call entries to speedup the aot/jit func call process (#2978) 2024-01-10 16:44:09 +08:00
wasm_native.h Register quick call entries to speedup the aot/jit func call process (#2978) 2024-01-10 16:44:09 +08:00
wasm_runtime_common.c Enable AOT linux perf support (#2930) 2024-01-02 15:58:17 +08:00
wasm_runtime_common.h Allow to set segue flags for wasm-c-api JIT (#2926) 2024-01-02 19:34:18 +08:00
wasm_shared_memory.c Refine lock/unlock shared memory (#2682) 2023-10-31 11:46:03 +08:00
wasm_shared_memory.h Refine lock/unlock shared memory (#2682) 2023-10-31 11:46:03 +08:00
wasm_suspend_flags.h Implement async termination of blocking thread (#2516) 2023-09-20 18:11:52 +08:00