LLDB
mainline
|
Public Types | |
typedef std::map< const Value *, lldb::addr_t > | ValueMap |
Public Member Functions | |
InterpreterStackFrame (DataLayout &target_data, lldb_private::IRExecutionUnit &execution_unit, lldb::addr_t stack_frame_bottom, lldb::addr_t stack_frame_top) | |
~InterpreterStackFrame ()=default | |
void | Jump (const BasicBlock *bb) |
std::string | SummarizeValue (const Value *value) |
bool | AssignToMatchType (lldb_private::Scalar &scalar, llvm::APInt value, Type *type) |
bool | EvaluateValue (lldb_private::Scalar &scalar, const Value *value, Module &module) |
bool | AssignValue (const Value *value, lldb_private::Scalar scalar, Module &module) |
bool | ResolveConstantValue (APInt &value, const Constant *constant) |
bool | MakeArgument (const Argument *value, uint64_t address) |
bool | ResolveConstant (lldb::addr_t process_address, const Constant *constant) |
lldb::addr_t | Malloc (size_t size, uint8_t byte_alignment) |
lldb::addr_t | Malloc (llvm::Type *type) |
std::string | PrintData (lldb::addr_t addr, llvm::Type *type) |
lldb::addr_t | ResolveValue (const Value *value, Module &module) |
Public Attributes | |
ValueMap | m_values |
DataLayout & | m_target_data |
lldb_private::IRExecutionUnit & | m_execution_unit |
const BasicBlock * | m_bb = nullptr |
const BasicBlock * | m_prev_bb = nullptr |
BasicBlock::const_iterator | m_ii |
BasicBlock::const_iterator | m_ie |
lldb::addr_t | m_frame_process_address |
size_t | m_frame_size |
lldb::addr_t | m_stack_pointer |
lldb::ByteOrder | m_byte_order |
size_t | m_addr_byte_size |
Definition at line 93 of file IRInterpreter.cpp.
typedef std::map<const Value *, lldb::addr_t> InterpreterStackFrame::ValueMap |
Definition at line 95 of file IRInterpreter.cpp.
|
inline |
Definition at line 112 of file IRInterpreter.cpp.
References lldb::eByteOrderBig, and lldb::eByteOrderLittle.
|
default |
|
inline |
Definition at line 151 of file IRInterpreter.cpp.
|
inline |
Definition at line 200 of file IRInterpreter.cpp.
References lldb_private::Scalar::GetAsMemoryData(), lldb_private::DataBufferHeap::GetByteSize(), LLDB_INVALID_ADDRESS, lldb_private::Scalar::MakeUnsigned(), lldb_private::Status::Success(), lldb_private::Scalar::UInt128(), and lldb_private::IRMemoryMap::WriteMemory().
Referenced by IRInterpreter::Interpret().
|
inline |
Definition at line 165 of file IRInterpreter.cpp.
References lldb_private::DataExtractor::GetMaxU64(), lldb_private::IRMemoryMap::GetMemoryData(), and lldb_private::Status::Success().
Referenced by IRInterpreter::Interpret().
|
inline |
Definition at line 128 of file IRInterpreter.cpp.
Referenced by IRInterpreter::Interpret().
|
inline |
Definition at line 313 of file IRInterpreter.cpp.
References lldb_private::IRMemoryMap::Free(), lldb_private::GetLog(), LLDB_INVALID_ADDRESS, LLDB_LOGF, PrintValue(), lldb_private::Status::Success(), and lldb_private::IRMemoryMap::WritePointerToMemory().
Referenced by IRInterpreter::Interpret().
|
inline |
Definition at line 382 of file IRInterpreter.cpp.
|
inline |
Definition at line 369 of file IRInterpreter.cpp.
References LLDB_INVALID_ADDRESS.
Referenced by IRInterpreter::Interpret().
|
inline |
Definition at line 389 of file IRInterpreter.cpp.
References lldb_private::StreamString::GetString(), lldb_private::Stream::Printf(), lldb_private::IRMemoryMap::ReadMemory(), string(), and lldb_private::Status::Success().
|
inline |
Definition at line 344 of file IRInterpreter.cpp.
References lldb_private::Scalar::GetAsMemoryData(), lldb_private::DataBufferHeap::GetByteSize(), lldb_private::Status::Success(), and lldb_private::IRMemoryMap::WriteMemory().
|
inline |
Definition at line 232 of file IRInterpreter.cpp.
References lldb_private::IRExecutionUnit::FindSymbol(), and LLDB_INVALID_ADDRESS.
|
inline |
Definition at line 413 of file IRInterpreter.cpp.
References lldb_private::IRMemoryMap::Free(), and LLDB_INVALID_ADDRESS.
Referenced by IRInterpreter::Interpret().
|
inline |
Definition at line 135 of file IRInterpreter.cpp.
References lldb_private::StreamString::GetString(), lldb_private::Stream::Printf(), PrintValue(), and string().
Referenced by IRInterpreter::Interpret().
size_t InterpreterStackFrame::m_addr_byte_size |
Definition at line 110 of file IRInterpreter.cpp.
const BasicBlock* InterpreterStackFrame::m_bb = nullptr |
Definition at line 100 of file IRInterpreter.cpp.
lldb::ByteOrder InterpreterStackFrame::m_byte_order |
Definition at line 109 of file IRInterpreter.cpp.
lldb_private::IRExecutionUnit& InterpreterStackFrame::m_execution_unit |
Definition at line 99 of file IRInterpreter.cpp.
lldb::addr_t InterpreterStackFrame::m_frame_process_address |
Definition at line 105 of file IRInterpreter.cpp.
Referenced by IRInterpreter::Interpret().
size_t InterpreterStackFrame::m_frame_size |
Definition at line 106 of file IRInterpreter.cpp.
BasicBlock::const_iterator InterpreterStackFrame::m_ie |
Definition at line 103 of file IRInterpreter.cpp.
Referenced by IRInterpreter::Interpret().
BasicBlock::const_iterator InterpreterStackFrame::m_ii |
Definition at line 102 of file IRInterpreter.cpp.
Referenced by IRInterpreter::Interpret().
const BasicBlock* InterpreterStackFrame::m_prev_bb = nullptr |
Definition at line 101 of file IRInterpreter.cpp.
Referenced by IRInterpreter::Interpret().
lldb::addr_t InterpreterStackFrame::m_stack_pointer |
Definition at line 107 of file IRInterpreter.cpp.
DataLayout& InterpreterStackFrame::m_target_data |
Definition at line 98 of file IRInterpreter.cpp.
ValueMap InterpreterStackFrame::m_values |
Definition at line 97 of file IRInterpreter.cpp.
Referenced by IRInterpreter::Interpret().