#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 | |
| SymbolicDwarfResult (VariableLocation &v, Architecture a) | |
| virtual | ~SymbolicDwarfResult () |
| 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 () |
| VariableLocation & | val () |
| virtual bool | eval (MachRegisterVal &) |
| bool | err () const |
Protected Attributes | |
| Architecture | arch |
| bool | error |
Private Attributes | |
| std::stack< MachRegisterVal > | operands |
| VariableLocation & | var |
Definition at line 78 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::SymbolicDwarfResult::SymbolicDwarfResult | ( | VariableLocation & | v, | |
| Architecture | a | |||
| ) | [inline] |
Definition at line 81 of file dwarfResult.h.
| virtual Dyninst::Dwarf::SymbolicDwarfResult::~SymbolicDwarfResult | ( | ) | [inline, virtual] |
Definition at line 83 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(), Dyninst::Dwarf::ConcreteDwarfResult::eval(), Dyninst::Dwarf::DwarfFrameParser::getRegRepAtFrame(), Dyninst::Dwarf::DwarfFrameParser::getRegValueAtFrame(), and Dyninst::Dwarf::ConcreteDwarfResult::pushCFA().
| virtual bool Dyninst::Dwarf::SymbolicDwarfResult::eval | ( | MachRegisterVal & | ) | [inline, virtual] |
Implements Dyninst::Dwarf::DwarfResult.
Definition at line 100 of file dwarfResult.h.
| void SymbolicDwarfResult::pushCFA | ( | ) | [virtual] |
Implements Dyninst::Dwarf::DwarfResult.
Definition at line 91 of file dwarfResult.C.
References dwarf_printf, and readReg().
| void SymbolicDwarfResult::pushFrameBase | ( | ) | [virtual] |
Implements Dyninst::Dwarf::DwarfResult.
Definition at line 85 of file dwarfResult.C.
References dwarf_printf, and readReg().
| void SymbolicDwarfResult::pushOp | ( | Operator | op, | |
| unsigned | ref | |||
| ) | [virtual] |
Implements Dyninst::Dwarf::DwarfResult.
Definition at line 72 of file dwarfResult.C.
References Dyninst::Dwarf::DwarfResult::Add, dwarf_printf, Dyninst::Dwarf::DwarfResult::error, Dyninst::VariableLocation::frameOffset, and var.
| void SymbolicDwarfResult::pushOp | ( | Operator | op | ) | [virtual] |
Implements Dyninst::Dwarf::DwarfResult.
Definition at line 55 of file dwarfResult.C.
References Dyninst::Dwarf::DwarfResult::Add, CHECK_OPER, dwarf_printf, Dyninst::Dwarf::DwarfResult::error, Dyninst::VariableLocation::frameOffset, operands, Dyninst::VariableLocation::stClass, Dyninst::storageUnset, and var.
| void SymbolicDwarfResult::pushReg | ( | Dyninst::MachRegister | reg | ) | [virtual] |
Implements Dyninst::Dwarf::DwarfResult.
Definition at line 18 of file dwarfResult.C.
References dwarf_printf, Dyninst::Dwarf::DwarfResult::error, Dyninst::VariableLocation::frameOffset, Dyninst::VariableLocation::mr_reg, Dyninst::MachRegister::name(), Dyninst::VariableLocation::refClass, Dyninst::VariableLocation::stClass, Dyninst::storageNoRef, Dyninst::storageReg, Dyninst::storageUnset, and var.
| void SymbolicDwarfResult::pushSignedVal | ( | Dyninst::MachRegisterVal | constant | ) | [virtual] |
Implements Dyninst::Dwarf::DwarfResult.
Definition at line 49 of file dwarfResult.C.
References dwarf_printf, and operands.
| void SymbolicDwarfResult::pushUnsignedVal | ( | Dyninst::MachRegisterVal | constant | ) | [virtual] |
Implements Dyninst::Dwarf::DwarfResult.
Definition at line 39 of file dwarfResult.C.
References dwarf_printf, operands, Dyninst::VariableLocation::stClass, Dyninst::storageAddr, Dyninst::storageUnset, and var.
| void SymbolicDwarfResult::readReg | ( | Dyninst::MachRegister | reg | ) | [virtual] |
Implements Dyninst::Dwarf::DwarfResult.
Definition at line 28 of file dwarfResult.C.
References dwarf_printf, Dyninst::Dwarf::DwarfResult::error, Dyninst::VariableLocation::frameOffset, Dyninst::VariableLocation::mr_reg, Dyninst::MachRegister::name(), Dyninst::VariableLocation::refClass, Dyninst::VariableLocation::stClass, Dyninst::storageNoRef, Dyninst::storageRegOffset, Dyninst::storageUnset, and var.
Referenced by pushCFA(), and pushFrameBase().
| VariableLocation & SymbolicDwarfResult::val | ( | ) |
Definition at line 97 of file dwarfResult.C.
References Dyninst::VariableLocation::frameOffset, operands, and var.
Referenced by Dyninst::Dwarf::decodeDwarfExpression(), Dyninst::Dwarf::DwarfFrameParser::getRegRepAtFrame(), and Dyninst::Dwarf::DwarfFrameParser::getRegsForFunction().
Architecture Dyninst::Dwarf::DwarfResult::arch [protected, inherited] |
Definition at line 73 of file dwarfResult.h.
Referenced by Dyninst::Dwarf::ConcreteDwarfResult::pushCFA().
bool Dyninst::Dwarf::DwarfResult::error [protected, inherited] |
Definition at line 74 of file dwarfResult.h.
Referenced by Dyninst::Dwarf::DwarfResult::err(), Dyninst::Dwarf::ConcreteDwarfResult::pushCFA(), Dyninst::Dwarf::ConcreteDwarfResult::pushFrameBase(), Dyninst::Dwarf::ConcreteDwarfResult::pushOp(), pushOp(), Dyninst::Dwarf::ConcreteDwarfResult::pushReg(), pushReg(), Dyninst::Dwarf::ConcreteDwarfResult::readReg(), and readReg().
std::stack<MachRegisterVal> Dyninst::Dwarf::SymbolicDwarfResult::operands [private] |
Definition at line 103 of file dwarfResult.h.
Referenced by pushOp(), pushSignedVal(), pushUnsignedVal(), and val().
Definition at line 105 of file dwarfResult.h.
Referenced by pushOp(), pushReg(), pushUnsignedVal(), readReg(), and val().
1.6.1