LLDB mainline
lldb_private::wasm::UnwindWasm Class Reference

UnwindWasm manages stack unwinding for a WebAssembly process. More...

#include <UnwindWasm.h>

Inheritance diagram for lldb_private::wasm::UnwindWasm:
[legend]

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)
ThreadGetThread ()

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 UnwindWasmoperator= (const UnwindWasm &)=delete

Private Attributes

std::vector< lldb::addr_tm_frames
bool m_unwind_complete = false

Additional Inherited Members

Protected Attributes inherited from lldb_private::Unwind
Threadm_thread
std::recursive_mutex m_unwind_mutex

Detailed Description

UnwindWasm manages stack unwinding for a WebAssembly process.

Definition at line 20 of file UnwindWasm.h.

Constructor & Destructor Documentation

◆ UnwindWasm() [1/2]

lldb_private::wasm::UnwindWasm::UnwindWasm ( lldb_private::Thread & thread)
inline

Definition at line 22 of file UnwindWasm.h.

References lldb_private::Unwind::Unwind().

Referenced by operator=(), and UnwindWasm().

◆ ~UnwindWasm()

lldb_private::wasm::UnwindWasm::~UnwindWasm ( )
overridedefault

◆ UnwindWasm() [2/2]

lldb_private::wasm::UnwindWasm::UnwindWasm ( const UnwindWasm & )
private

References UnwindWasm().

Member Function Documentation

◆ DoClear()

void lldb_private::wasm::UnwindWasm::DoClear ( )
inlineoverrideprotectedvirtual

Implements lldb_private::Unwind.

Definition at line 26 of file UnwindWasm.h.

References m_frames, and m_unwind_complete.

◆ DoCreateRegisterContextForFrame()

◆ DoGetFrameCount()

uint32_t UnwindWasm::DoGetFrameCount ( )
overrideprotectedvirtual

◆ DoGetFrameInfoAtIndex()

bool UnwindWasm::DoGetFrameInfoAtIndex ( uint32_t frame_idx,
lldb::addr_t & cfa,
lldb::addr_t & pc,
bool & behaves_like_zeroth_frame )
overrideprotectedvirtual

Implements lldb_private::Unwind.

Definition at line 72 of file UnwindWasm.cpp.

References DoGetFrameCount(), m_frames, and pc.

◆ operator=()

const UnwindWasm & lldb_private::wasm::UnwindWasm::operator= ( const UnwindWasm & )
privatedelete

References UnwindWasm().

Member Data Documentation

◆ m_frames

std::vector<lldb::addr_t> lldb_private::wasm::UnwindWasm::m_frames
private

◆ m_unwind_complete

bool lldb_private::wasm::UnwindWasm::m_unwind_complete = false
private

Definition at line 42 of file UnwindWasm.h.

Referenced by DoClear(), and DoGetFrameCount().


The documentation for this class was generated from the following files: