wasm-micro-runtime/core/iwasm/interpreter
Marcin Kolny cbc2078898
AOT call stack optimizations (#3773)
- Implement TINY / STANDARD frame modes - tiny mode is only able to keep track on the IP
  and func idx, STANDARD mode provides more capabilities (parameters, stack pointer etc.).
- Implement FRAME_PER_FUNCTION / FRAME_PER_CALL modes - frame per function adds
  code at the beginning and at the end of each function for allocating / deallocating stack frame,
  whereas in per-call mode the frame is allocated before each call. The exception is call to
  the imported function, where frame-per-function mode also allocates the stack before the
  `call` instruction (as it can't instrument the imported function).

At the moment TINY + FRAME_PER_FUNCTION is automatically enabled in case GC and perf
profiling are disabled and `values` call stack feature is not requested. In all the other cases
STANDARD + FRAME_PER_CALL is used.

STANDARD + FRAME_PER_FUNCTION and TINY + FRAME_PER_CALL are currently not
implemented but possible, and might be enabled in the future.

ps. https://github.com/bytecodealliance/wasm-micro-runtime/issues/3758
2024-09-10 09:05:23 +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 aot compiler: Allow to control stack boundary check when boundary check is enabled (#3754) 2024-08-29 11:08:39 +08:00
wasm_interp_fast.c Add support for multi-memory proposal in classic interpreter (#3742) 2024-08-21 12:22:23 +08:00
wasm_interp.h Implement GC (Garbage Collection) feature for interpreter, AOT and LLVM-JIT (#3125) 2024-02-06 20:47:11 +08:00
wasm_loader.c AOT call stack optimizations (#3773) 2024-09-10 09:05:23 +08:00
wasm_loader.h Enhance wasm loading with LoadArgs and support module names (#3265) 2024-04-07 15:04:35 +08:00
wasm_mini_loader.c AOT call stack optimizations (#3773) 2024-09-10 09:05:23 +08:00
wasm_opcode.h Fix some more spelling issues (#3393) 2024-05-08 09:30:29 +08:00
wasm_runtime.c Add support for multi-memory proposal in classic interpreter (#3742) 2024-08-21 12:22:23 +08:00
wasm_runtime.h Add support for multi-memory proposal in classic interpreter (#3742) 2024-08-21 12:22:23 +08:00
wasm.h Add support for multi-memory proposal in classic interpreter (#3742) 2024-08-21 12:22:23 +08:00