-
Notifications
You must be signed in to change notification settings - Fork 653
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhance LLVM AOT/JIT stack frame dump #2350
Enhance LLVM AOT/JIT stack frame dump #2350
Conversation
Should we add a dedicate document to describe the current implementation and motivation? |
Yes, I will open a new issue to describe them later. |
Merge bytecodealliance:dev/aot_stack_frame into wenyongh:dev/aot_stack_frame
/* The non-imported function index of current function */ | ||
uintptr_t func_index; | ||
|
||
/* Used when performance profiling is enabled */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we guard time_started with WASM_ENABLE_PERF_PROFILING ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Had better not, the field offsets of AOTFrame had better be fixed so the AOT compiler doesn't need to calculate them (e.g. ip_offset/sp/frame_ref/lp) according to the target architectures in running, like some fields in AOTModuleInstance, WASMMemoryInstance and WASMExecEnv.
Note that I added some bh_static_assert sentences in aot_runtime.c.
Enhance LLVM AOT/JIT stack frame dump (bytecodealliance#2350)
Implement a full LLVM AOT/JIT stack frame dump:
commit the function arguments, locals, stack operands from LLVM values to the stack frame,
which is required for the GC AOT/JIT feature, and may be required by the aot debug, aot snapshot
and other features.
Refer to:
#2144
#2333