|
LLDB mainline
|
UnwindWasm manages stack unwinding for a WebAssembly process. More...
#include <UnwindWasm.h>
Public Member Functions | |
| UnwindWasm (lldb_private::Thread &thread) | |
| ~UnwindWasm () override=default | |
| Public Member Functions inherited from lldb_private::Unwind | |
| virtual | ~Unwind ()=default |
| void | Clear () |
| uint32_t | GetFrameCount () |
| uint32_t | GetFramesUpTo (uint32_t end_idx) |
| bool | GetFrameInfoAtIndex (uint32_t frame_idx, lldb::addr_t &cfa, lldb::addr_t &pc, bool &behaves_like_zeroth_frame) |
| lldb::RegisterContextSP | CreateRegisterContextForFrame (StackFrame *frame) |
| Thread & | GetThread () |
Protected Member Functions | |
| void | DoClear () override |
| uint32_t | DoGetFrameCount () override |
| bool | DoGetFrameInfoAtIndex (uint32_t frame_idx, lldb::addr_t &cfa, lldb::addr_t &pc, bool &behaves_like_zeroth_frame) override |
| lldb::RegisterContextSP | DoCreateRegisterContextForFrame (lldb_private::StackFrame *frame) override |
| Protected Member Functions inherited from lldb_private::Unwind | |
| Unwind (Thread &thread) | |
Private Member Functions | |
| UnwindWasm (const UnwindWasm &) | |
| const UnwindWasm & | operator= (const UnwindWasm &)=delete |
Private Attributes | |
| std::vector< lldb::addr_t > | m_frames |
| bool | m_unwind_complete = false |
Additional Inherited Members | |
| Protected Attributes inherited from lldb_private::Unwind | |
| Thread & | m_thread |
| std::recursive_mutex | m_unwind_mutex |
UnwindWasm manages stack unwinding for a WebAssembly process.
Definition at line 20 of file UnwindWasm.h.
|
inline |
Definition at line 22 of file UnwindWasm.h.
References lldb_private::Unwind::Unwind().
Referenced by operator=(), and UnwindWasm().
|
overridedefault |
|
private |
References UnwindWasm().
|
inlineoverrideprotectedvirtual |
Implements lldb_private::Unwind.
Definition at line 26 of file UnwindWasm.h.
References m_frames, and m_unwind_complete.
|
overrideprotectedvirtual |
Implements lldb_private::Unwind.
Definition at line 23 of file UnwindWasm.cpp.
References lldb_private::StackFrame::GetConcreteFrameIndex(), lldb_private::StackFrame::GetFrameIndex(), lldb_private::wasm::ProcessWasm::GetRegisterInfo(), lldb_private::StackFrame::GetThread(), and m_frames.
|
overrideprotectedvirtual |
Implements lldb_private::Unwind.
Definition at line 37 of file UnwindWasm.cpp.
References lldb_private::GetLog(), lldb_private::Unwind::GetThread(), lldb_private::wasm::ThreadWasm::GetWasmCallStack(), LLDB_LOG_ERROR, m_frames, m_unwind_complete, and lldb_private::Unwind.
Referenced by DoGetFrameInfoAtIndex().
|
overrideprotectedvirtual |
Implements lldb_private::Unwind.
Definition at line 58 of file UnwindWasm.cpp.
References DoGetFrameCount(), m_frames, and pc.
|
privatedelete |
References UnwindWasm().
|
private |
Definition at line 41 of file UnwindWasm.h.
Referenced by DoClear(), DoCreateRegisterContextForFrame(), DoGetFrameCount(), and DoGetFrameInfoAtIndex().
|
private |
Definition at line 42 of file UnwindWasm.h.
Referenced by DoClear(), and DoGetFrameCount().