LLDB mainline
|
Public Member Functions | |
EntityPersistentVariable (lldb::ExpressionVariableSP &persistent_variable_sp, Materializer::PersistentVariableDelegate *delegate) | |
void | MakeAllocation (IRMemoryMap &map, Status &err) |
void | DestroyAllocation (IRMemoryMap &map, Status &err) |
void | Materialize (lldb::StackFrameSP &frame_sp, IRMemoryMap &map, lldb::addr_t process_address, Status &err) override |
void | Dematerialize (lldb::StackFrameSP &frame_sp, IRMemoryMap &map, lldb::addr_t process_address, lldb::addr_t frame_top, lldb::addr_t frame_bottom, Status &err) override |
void | DumpToLog (IRMemoryMap &map, lldb::addr_t process_address, Log *log) override |
void | Wipe (IRMemoryMap &map, lldb::addr_t process_address) override |
Public Member Functions inherited from lldb_private::Materializer::Entity | |
Entity ()=default | |
virtual | ~Entity ()=default |
virtual void | Materialize (lldb::StackFrameSP &frame_sp, IRMemoryMap &map, lldb::addr_t process_address, Status &err)=0 |
virtual void | Dematerialize (lldb::StackFrameSP &frame_sp, IRMemoryMap &map, lldb::addr_t process_address, lldb::addr_t frame_top, lldb::addr_t frame_bottom, Status &err)=0 |
virtual void | DumpToLog (IRMemoryMap &map, lldb::addr_t process_address, Log *log)=0 |
virtual void | Wipe (IRMemoryMap &map, lldb::addr_t process_address)=0 |
uint32_t | GetAlignment () |
uint32_t | GetSize () |
uint32_t | GetOffset () |
void | SetOffset (uint32_t offset) |
Private Attributes | |
lldb::ExpressionVariableSP | m_persistent_variable_sp |
Materializer::PersistentVariableDelegate * | m_delegate |
Additional Inherited Members | |
Protected Attributes inherited from lldb_private::Materializer::Entity | |
uint32_t | m_alignment = 1 |
uint32_t | m_size = 0 |
uint32_t | m_offset = 0 |
Definition at line 59 of file Materializer.cpp.
|
inline |
Definition at line 61 of file Materializer.cpp.
References g_default_var_alignment, and g_default_var_byte_size.
|
inlineoverridevirtual |
Implements lldb_private::Materializer::Entity.
Definition at line 201 of file Materializer.cpp.
References lldb_private::Status::AsCString(), lldb_private::ExecutionContextScope::CalculateProcess(), lldb_private::ValueObjectConstResult::Create(), lldb_private::eAddressTypeLoad, lldb_private::ExpressionVariable::EVIsLLDBAllocated, lldb_private::ExpressionVariable::EVIsProgramReference, lldb_private::ExpressionVariable::EVKeepInTarget, lldb_private::ExpressionVariable::EVNeedsAllocation, lldb_private::ExpressionVariable::EVNeedsFreezeDry, lldb_private::Status::FromErrorStringWithFormat(), lldb_private::IRMemoryMap::GetBestExecutionContextScope(), lldb_private::GetLog(), LLDB_INVALID_ADDRESS, LLDB_LOGF, lldb_private::ExpressionVariable::m_live_sp, lldb_private::IRMemoryMap::ReadMemory(), lldb_private::IRMemoryMap::ReadPointerFromMemory(), and lldb_private::Status::Success().
|
inline |
Definition at line 132 of file Materializer.cpp.
References lldb_private::Status::AsCString(), lldb_private::IRMemoryMap::Free(), lldb_private::Status::FromErrorStringWithFormat(), and lldb_private::Status::Success().
|
inlineoverridevirtual |
Implements lldb_private::Materializer::Entity.
Definition at line 347 of file Materializer.cpp.
References lldb_private::DumpHexBytes(), lldb_private::WritableDataBuffer::GetBytes(), lldb_private::DataBufferHeap::GetByteSize(), lldb_private::StreamString::GetString(), lldb_private::Stream::Printf(), lldb_private::Stream::PutChar(), lldb_private::Log::PutString(), lldb_private::IRMemoryMap::ReadMemory(), lldb_private::IRMemoryMap::ReadPointerFromMemory(), and lldb_private::Status::Success().
|
inline |
Definition at line 71 of file Materializer.cpp.
References lldb_private::Status::AsCString(), lldb_private::ValueObjectConstResult::Create(), lldb_private::eAddressTypeLoad, lldb_private::IRMemoryMap::eAllocationPolicyMirror, lldb_private::ExpressionVariable::EVKeepInTarget, lldb_private::Status::FromErrorStringWithFormat(), lldb_private::IRMemoryMap::GetAddressByteSize(), lldb_private::IRMemoryMap::GetBestExecutionContextScope(), lldb_private::GetLog(), lldb_private::IRMemoryMap::Leak(), LLDB_LOGF, lldb_private::IRMemoryMap::Malloc(), lldb_private::Status::Success(), and lldb_private::IRMemoryMap::WriteMemory().
|
inlineoverridevirtual |
Implements lldb_private::Materializer::Entity.
Definition at line 150 of file Materializer.cpp.
References lldb_private::Status::AsCString(), lldb_private::ExpressionVariable::EVIsLLDBAllocated, lldb_private::ExpressionVariable::EVIsProgramReference, lldb_private::ExpressionVariable::EVNeedsAllocation, lldb_private::Status::FromErrorStringWithFormat(), lldb_private::IRMemoryMap::GetAddressByteSize(), lldb_private::GetLog(), LLDB_LOGF, lldb_private::Status::Success(), and lldb_private::IRMemoryMap::WriteScalarToMemory().
|
inlineoverridevirtual |
Implements lldb_private::Materializer::Entity.
Definition at line 407 of file Materializer.cpp.
|
private |
Definition at line 411 of file Materializer.cpp.
|
private |
Definition at line 410 of file Materializer.cpp.