27 const uint8_t op)
const {
28 if (op != llvm::dwarf::DW_OP_WASM_location)
32 const uint8_t wasm_op = data.
GetU8(&offset);
46 return offset - data_offset;
54 std::vector<Value> &stack)
const {
55 if (op != llvm::dwarf::DW_OP_WASM_location)
66 const uint8_t wasm_op = opcodes.
GetU8(&offset);
81 index = opcodes.
GetU32(&offset);
92 reg_ctx, reg_kind, reg_num, tmp);
static llvm::raw_ostream & error(Stream &strm)
#define LLDB_LOG_ERROR(log, error,...)
static llvm::Error ReadRegisterValueAsScalar(RegisterContext *reg_ctx, lldb::RegisterKind reg_kind, uint32_t reg_num, Value &value)
SymbolFileDWARF(lldb::ObjectFileSP objfile_sp, SectionList *dwo_section_list)
SymbolFileWasm(lldb::ObjectFileSP objfile_sp, SectionList *dwo_section_list)
lldb::offset_t GetVendorDWARFOpcodeSize(const DataExtractor &data, const lldb::offset_t data_offset, const uint8_t op) const override
~SymbolFileWasm() override
bool ParseVendorDWARFOpcode(uint8_t op, const DataExtractor &opcodes, lldb::offset_t &offset, RegisterContext *reg_ctx, lldb::RegisterKind reg_kind, std::vector< Value > &stack) const override
#define LLDB_INVALID_OFFSET
A class that represents a running process on the host machine.
Log * GetLog(Cat mask)
Retrieve the Log object for the channel associated with the given log enum.
uint32_t GetWasmRegister(uint8_t tag, uint32_t index)
@ eWasmTagNotAWasmLocation
std::shared_ptr< lldb_private::ObjectFile > ObjectFileSP
RegisterKind
Register numbering types.