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 37 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 51 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 72 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().