llvm-project
c42928e0 - [lldb] Add LanguageRuntime::EvaluateEntryValue (NFC) (#239813)

Commit
6 days ago
[lldb] Add LanguageRuntime::EvaluateEntryValue (NFC) (#239813) DW_OP_entry_value(reg) is the value reg had on entry to the function. LLDB looks it up in the call site parameters of the caller, but a language runtime may know it without them. Swift async functions, for example, receive their async context in a register, and the Swift runtime's unwind plan makes that context the CFA of the frame. The frame above an async function in the backtrace is its continuation, not its caller, so there are no call site parameters to find. This patch adds a LanguageRuntime hook that DWARFExpression calls before it searches the caller. The runtime may also consume operations after the DW_OP_entry_value and evaluate them together with it, when it knows their combined result but not the entry value alone. Assisted-by: Claude
Author
Parents
Loading