#include <dwarfResult.h>
Public Types | |
| enum | Operator { Add, Sub, Mul, Div, Mod, Deref, Pick, Drop, And, Or, Not, Xor, Abs, GE, LE, GT, LT, Eq, Neq, Shl, Shr, ShrArith } |
Public Member Functions | |
| ConcreteDwarfResult (ProcessReader *r, Architecture a, Address p, Dwarf_Debug d) | |
| virtual | ~ConcreteDwarfResult () |
| virtual void | pushReg (Dyninst::MachRegister reg) |
| virtual void | readReg (Dyninst::MachRegister reg) |
| virtual void | pushUnsignedVal (Dyninst::MachRegisterVal constant) |
| virtual void | pushSignedVal (Dyninst::MachRegisterVal constant) |
| virtual void | pushOp (Operator op) |
| virtual void | pushOp (Operator op, unsigned ref) |
| virtual void | pushFrameBase () |
| virtual void | pushCFA () |
| MachRegisterVal | val () |
| bool | eval (MachRegisterVal &v) |
| bool | err () const |
Protected Attributes | |
| Architecture | arch |
| bool | error |
Private Member Functions | |
| MachRegisterVal | peek (int index) |
| void | pop (int num) |
| void | popRange (int start, int end) |
| void | push (MachRegisterVal v) |
Private Attributes | |
| ProcessReader * | reader |
| Address | pc |
| Dwarf_Debug | dbg |
| std::vector < Dyninst::MachRegisterVal > | operands |
Definition at line 108 of file dwarfResult.h.
enum Dyninst::Dwarf::DwarfResult::Operator [inherited] |
| Add | |
| Sub | |
| Mul | |
| Div | |
| Mod | |
| Deref | |
| Pick | |
| Drop | |
| And | |
| Or | |
| Not | |
| Xor | |
| Abs | |
| GE | |
| LE | |
| GT | |
| LT | |
| Eq | |
| Neq | |
| Shl | |
| Shr | |
| ShrArith |
Definition at line 22 of file dwarfResult.h.
| Dyninst::Dwarf::ConcreteDwarfResult::ConcreteDwarfResult | ( | ProcessReader * | r, | |
| Architecture | a, | |||
| Address | p, | |||
| Dwarf_Debug | d | |||
| ) | [inline] |
Definition at line 111 of file dwarfResult.h.
| virtual Dyninst::Dwarf::ConcreteDwarfResult::~ConcreteDwarfResult | ( | ) | [inline, virtual] |
Definition at line 115 of file dwarfResult.h.
| bool Dyninst::Dwarf::DwarfResult::err | ( | ) | const [inline, inherited] |
Definition at line 65 of file dwarfResult.h.
References Dyninst::Dwarf::DwarfResult::error.
Referenced by Dyninst::Dwarf::decodeDwarfExpression(), eval(), Dyninst::Dwarf::DwarfFrameParser::getRegRepAtFrame(), Dyninst::Dwarf::DwarfFrameParser::getRegValueAtFrame(), and pushCFA().
| bool ConcreteDwarfResult::eval | ( | MachRegisterVal & | v | ) | [virtual] |
Implements Dyninst::Dwarf::DwarfResult.
Definition at line 378 of file dwarfResult.C.
References Dyninst::Dwarf::DwarfResult::err(), and val().
| MachRegisterVal ConcreteDwarfResult::peek | ( | int | index | ) | [private] |
Definition at line 347 of file dwarfResult.C.
References dwarf_printf, and operands.
Referenced by pushOp().
| void ConcreteDwarfResult::pop | ( | int | num | ) | [private] |
Definition at line 353 of file dwarfResult.C.
References dwarf_printf, and operands.
Referenced by pushOp().
| void ConcreteDwarfResult::popRange | ( | int | start, | |
| int | end | |||
| ) | [private] |
Definition at line 359 of file dwarfResult.C.
References dwarf_printf, and operands.
Referenced by pushOp().
| void ConcreteDwarfResult::push | ( | MachRegisterVal | v | ) | [private] |
Definition at line 374 of file dwarfResult.C.
References operands.
Referenced by pushOp(), pushSignedVal(), pushUnsignedVal(), and readReg().
| void ConcreteDwarfResult::pushCFA | ( | ) | [virtual] |
Implements Dyninst::Dwarf::DwarfResult.
Definition at line 333 of file dwarfResult.C.
References Dyninst::Dwarf::DwarfResult::arch, Dyninst::Dwarf::DwarfFrameParser::create(), dbg, dwarf_printf, Dyninst::Dwarf::DwarfResult::err(), Dyninst::Dwarf::DwarfResult::error, pc, pushUnsignedVal(), and reader.
| void ConcreteDwarfResult::pushFrameBase | ( | ) | [virtual] |
Implements Dyninst::Dwarf::DwarfResult.
Definition at line 329 of file dwarfResult.C.
References Dyninst::Dwarf::DwarfResult::error.
| void ConcreteDwarfResult::pushOp | ( | Operator | op, | |
| unsigned | ref | |||
| ) | [virtual] |
Implements Dyninst::Dwarf::DwarfResult.
Definition at line 272 of file dwarfResult.C.
References Dyninst::Dwarf::DwarfResult::Add, CHECK_OPER, Dyninst::Dwarf::DwarfResult::Deref, Dyninst::Dwarf::DwarfResult::Drop, dwarf_printf, Dyninst::Dwarf::DwarfResult::error, peek(), Dyninst::Dwarf::DwarfResult::Pick, pop(), push(), pushOp(), pushUnsignedVal(), reader, and Dyninst::ProcessReader::ReadMem().
| void ConcreteDwarfResult::pushOp | ( | Operator | op | ) | [virtual] |
Implements Dyninst::Dwarf::DwarfResult.
Definition at line 131 of file dwarfResult.C.
References abs(), Dyninst::Dwarf::DwarfResult::Abs, Dyninst::Dwarf::DwarfResult::Add, Dyninst::Dwarf::DwarfResult::And, CHECK_OPER, Dyninst::Dwarf::DwarfResult::Deref, Dyninst::Dwarf::DwarfResult::Div, Dyninst::Dwarf::DwarfResult::Drop, dwarf_printf, Dyninst::Dwarf::DwarfResult::Eq, Dyninst::Dwarf::DwarfResult::error, Dyninst::Dwarf::DwarfResult::GE, Dyninst::Dwarf::DwarfResult::GT, Dyninst::Dwarf::DwarfResult::LE, Dyninst::Dwarf::DwarfResult::LT, Dyninst::Dwarf::DwarfResult::Mod, Dyninst::Dwarf::DwarfResult::Mul, Dyninst::Dwarf::DwarfResult::Neq, Dyninst::Dwarf::DwarfResult::Not, operands, Dyninst::Dwarf::DwarfResult::Or, peek(), Dyninst::Dwarf::DwarfResult::Pick, pop(), popRange(), push(), Dyninst::Dwarf::DwarfResult::Shl, Dyninst::Dwarf::DwarfResult::Shr, Dyninst::Dwarf::DwarfResult::ShrArith, Dyninst::Dwarf::DwarfResult::Sub, and Dyninst::Dwarf::DwarfResult::Xor.
Referenced by pushOp().
| void ConcreteDwarfResult::pushReg | ( | Dyninst::MachRegister | reg | ) | [virtual] |
Implements Dyninst::Dwarf::DwarfResult.
Definition at line 105 of file dwarfResult.C.
References Dyninst::Dwarf::DwarfResult::error.
| void ConcreteDwarfResult::pushSignedVal | ( | Dyninst::MachRegisterVal | constant | ) | [virtual] |
Implements Dyninst::Dwarf::DwarfResult.
Definition at line 124 of file dwarfResult.C.
References dwarf_printf, operands, and push().
| void ConcreteDwarfResult::pushUnsignedVal | ( | Dyninst::MachRegisterVal | constant | ) | [virtual] |
Implements Dyninst::Dwarf::DwarfResult.
Definition at line 118 of file dwarfResult.C.
References dwarf_printf, operands, and push().
| void ConcreteDwarfResult::readReg | ( | Dyninst::MachRegister | reg | ) | [virtual] |
Implements Dyninst::Dwarf::DwarfResult.
Definition at line 110 of file dwarfResult.C.
References dwarf_printf, Dyninst::Dwarf::DwarfResult::error, Dyninst::ProcessReader::GetReg(), Dyninst::MachRegister::name(), operands, push(), and reader.
| MachRegisterVal ConcreteDwarfResult::val | ( | ) |
Definition at line 384 of file dwarfResult.C.
References dwarf_printf, and operands.
Referenced by Dyninst::Dwarf::decodeDwarfExpression(), eval(), and Dyninst::Dwarf::DwarfFrameParser::getRegValueAtFrame().
Architecture Dyninst::Dwarf::DwarfResult::arch [protected, inherited] |
Definition at line 73 of file dwarfResult.h.
Referenced by pushCFA().
Dwarf_Debug Dyninst::Dwarf::ConcreteDwarfResult::dbg [private] |
Definition at line 139 of file dwarfResult.h.
Referenced by pushCFA().
bool Dyninst::Dwarf::DwarfResult::error [protected, inherited] |
Definition at line 74 of file dwarfResult.h.
Referenced by Dyninst::Dwarf::DwarfResult::err(), pushCFA(), pushFrameBase(), pushOp(), Dyninst::Dwarf::SymbolicDwarfResult::pushOp(), pushReg(), Dyninst::Dwarf::SymbolicDwarfResult::pushReg(), readReg(), and Dyninst::Dwarf::SymbolicDwarfResult::readReg().
std::vector<Dyninst::MachRegisterVal> Dyninst::Dwarf::ConcreteDwarfResult::operands [private] |
Definition at line 143 of file dwarfResult.h.
Referenced by peek(), pop(), popRange(), push(), pushOp(), pushSignedVal(), pushUnsignedVal(), readReg(), and val().
Definition at line 138 of file dwarfResult.h.
Referenced by pushCFA().
Definition at line 135 of file dwarfResult.h.
1.6.1