#include <dyn_regs.h>
Public Member Functions | |
| MachRegister () | |
| MachRegister (signed int r) | |
| MachRegister (signed int r, const char *n) | |
| MachRegister (signed int r, std::string n) | |
| MachRegister | getBaseRegister () const |
| Architecture | getArchitecture () const |
| bool | isValid () const |
| MachRegisterVal | getSubRegValue (const MachRegister &subreg, MachRegisterVal &orig) const |
| std::string | name () const |
| unsigned int | size () const |
| bool | operator< (const MachRegister &a) const |
| bool | operator== (const MachRegister &a) const |
| operator signed int () const | |
| signed int | val () const |
| unsigned int | regClass () const |
| bool | isPC () const |
| bool | isFramePointer () const |
| bool | isStackPointer () const |
| void | getROSERegister (int &c, int &n, int &p) |
| int | getDwarfEnc () const |
Static Public Member Functions | |
| static MachRegister | getPC (Dyninst::Architecture arch) |
| static MachRegister | getFramePointer (Dyninst::Architecture arch) |
| static MachRegister | getStackPointer (Dyninst::Architecture arch) |
| static MachRegister | DwarfEncToReg (int encoding, Dyninst::Architecture arch) |
Private Types | |
| typedef std::map< signed int, std::string > | NameMap |
Private Member Functions | |
| void | init_names () |
Static Private Member Functions | |
| static boost::shared_ptr < MachRegister::NameMap > | names () |
Private Attributes | |
| signed int | reg |
Friends | |
| struct | ::Dyninst::x86OperandParser |
| struct | ::Dyninst::ppcOperandParser |
Definition at line 60 of file dyn_regs.h.
typedef std::map<signed int, std::string> Dyninst::MachRegister::NameMap [private] |
Definition at line 66 of file dyn_regs.h.
| MachRegister::MachRegister | ( | ) |
Definition at line 48 of file dyn_regs.C.
Referenced by getBaseRegister().
| MachRegister::MachRegister | ( | signed int | r | ) | [explicit] |
Definition at line 53 of file dyn_regs.C.
| MachRegister::MachRegister | ( | signed int | r, | |
| const char * | n | |||
| ) | [explicit] |
Definition at line 58 of file dyn_regs.C.
References names().
| MachRegister::MachRegister | ( | signed int | r, | |
| std::string | n | |||
| ) | [explicit] |
Definition at line 64 of file dyn_regs.C.
References names().
| MachRegister MachRegister::DwarfEncToReg | ( | int | encoding, | |
| Dyninst::Architecture | arch | |||
| ) | [static] |
Definition at line 496 of file dyn_regs.C.
References Dyninst::Arch_none, Dyninst::Arch_ppc32, Dyninst::Arch_ppc64, Dyninst::Arch_x86, Dyninst::Arch_x86_64, bgcios::toolctl::cr, bgcios::toolctl::ctr, bgcios::toolctl::fpr0, bgcios::toolctl::fpr1, bgcios::toolctl::fpr10, bgcios::toolctl::fpr11, bgcios::toolctl::fpr12, bgcios::toolctl::fpr13, bgcios::toolctl::fpr14, bgcios::toolctl::fpr15, bgcios::toolctl::fpr16, bgcios::toolctl::fpr17, bgcios::toolctl::fpr18, bgcios::toolctl::fpr19, bgcios::toolctl::fpr2, bgcios::toolctl::fpr20, bgcios::toolctl::fpr21, bgcios::toolctl::fpr22, bgcios::toolctl::fpr23, bgcios::toolctl::fpr24, bgcios::toolctl::fpr25, bgcios::toolctl::fpr26, bgcios::toolctl::fpr27, bgcios::toolctl::fpr28, bgcios::toolctl::fpr29, bgcios::toolctl::fpr3, bgcios::toolctl::fpr30, bgcios::toolctl::fpr31, bgcios::toolctl::fpr4, bgcios::toolctl::fpr5, bgcios::toolctl::fpr6, bgcios::toolctl::fpr7, bgcios::toolctl::fpr8, bgcios::toolctl::fpr9, bgcios::toolctl::lr, and bgcios::toolctl::xer.
Referenced by Dyninst::Dwarf::decodeDwarfExpression(), and Dyninst::Dwarf::DwarfFrameParser::handleExpression().
| Architecture MachRegister::getArchitecture | ( | ) | const |
Definition at line 91 of file dyn_regs.C.
References reg.
Referenced by Dyninst::ppcOperandParser::createRegisterNames(), Dyninst::x86OperandParser::createRegisterNames(), getBaseRegister(), getDwarfEnc(), getROSERegister(), getSubRegValue(), and size().
| MachRegister MachRegister::getBaseRegister | ( | ) | const |
Definition at line 75 of file dyn_regs.C.
References Dyninst::Arch_none, Dyninst::Arch_ppc32, Dyninst::Arch_ppc64, Dyninst::Arch_x86, Dyninst::Arch_x86_64, getArchitecture(), Dyninst::x86_64::GPR, Dyninst::x86::GPR, MachRegister(), and reg.
Referenced by getSubRegValue().
| int MachRegister::getDwarfEnc | ( | ) | const |
Definition at line 805 of file dyn_regs.C.
References Dyninst::Arch_none, Dyninst::Arch_ppc32, Dyninst::Arch_ppc64, Dyninst::Arch_x86, Dyninst::Arch_x86_64, getArchitecture(), and val().
Referenced by Dyninst::Dwarf::DwarfFrameParser::getDwarfReg().
| MachRegister MachRegister::getFramePointer | ( | Dyninst::Architecture | arch | ) | [static] |
Definition at line 220 of file dyn_regs.C.
References Dyninst::Arch_none, Dyninst::Arch_ppc32, Dyninst::Arch_ppc64, Dyninst::Arch_x86, and Dyninst::Arch_x86_64.
| MachRegister MachRegister::getPC | ( | Dyninst::Architecture | arch | ) | [static] |
Definition at line 202 of file dyn_regs.C.
References Dyninst::Arch_none, Dyninst::Arch_ppc32, Dyninst::Arch_ppc64, Dyninst::Arch_x86, and Dyninst::Arch_x86_64.
| void MachRegister::getROSERegister | ( | int & | c, | |
| int & | n, | |||
| int & | p | |||
| ) |
Definition at line 279 of file dyn_regs.C.
References Dyninst::x86::AF, Dyninst::Arch_ppc32, Dyninst::Arch_ppc64, Dyninst::Arch_x86, Dyninst::Arch_x86_64, Dyninst::x86::BASEA, Dyninst::x86::BASEB, Dyninst::x86::BASEBP, Dyninst::x86::BASEC, Dyninst::x86::BASED, Dyninst::x86::BASEDI, Dyninst::x86::BASESI, Dyninst::x86::BASESP, Dyninst::x86::BIT, Dyninst::x86::CF, Dyninst::x86::CTL, Dyninst::x86_64::D_REG, Dyninst::x86::DBG, Dyninst::x86::DF, Dyninst::x86::FLAG, Dyninst::x86::FPDBL, Dyninst::ppc32::FPR, Dyninst::ppc32::FSR, Dyninst::x86::FULL, getArchitecture(), Dyninst::ppc32::GPR, Dyninst::x86::GPR, Dyninst::x86::H_REG, Dyninst::x86::IF, Dyninst::x86::L_REG, Dyninst::x86::MISC, Dyninst::x86::MMX, Dyninst::x86::OCT, Dyninst::x86::OF, Dyninst::x86::PF, powerpc_condreggranularity_field, powerpc_condreggranularity_whole, powerpc_regclass_cr, powerpc_regclass_fpr, powerpc_regclass_gpr, powerpc_regclass_spr, powerpc_regclass_sr, reg, Dyninst::x86::SEG, Dyninst::x86::SF, Dyninst::ppc32::SPR, Dyninst::x86::TF, Dyninst::x86::TST, Dyninst::x86::W_REG, x86_flag_af, x86_flag_cf, x86_flag_df, x86_flag_if, x86_flag_of, x86_flag_pf, x86_flag_sf, x86_flag_tf, x86_flag_zf, x86_gpr_ax, x86_gpr_bp, x86_gpr_bx, x86_gpr_cx, x86_gpr_di, x86_gpr_dx, x86_gpr_si, x86_gpr_sp, x86_regclass_cr, x86_regclass_dr, x86_regclass_flags, x86_regclass_gpr, x86_regclass_ip, x86_regclass_mm, x86_regclass_segment, x86_regclass_unknown, x86_regclass_xmm, x86_regpos_all, x86_regpos_dword, x86_regpos_high_byte, x86_regpos_low_byte, x86_regpos_unknown, x86_regpos_word, x86_segreg_cs, x86_segreg_ds, x86_segreg_es, x86_segreg_fs, x86_segreg_gs, x86_segreg_ss, Dyninst::x86::XMM, and Dyninst::x86::ZF.
| MachRegister MachRegister::getStackPointer | ( | Dyninst::Architecture | arch | ) | [static] |
Definition at line 238 of file dyn_regs.C.
References Dyninst::Arch_none, Dyninst::Arch_ppc32, Dyninst::Arch_ppc64, Dyninst::Arch_x86, and Dyninst::Arch_x86_64.
| MachRegisterVal MachRegister::getSubRegValue | ( | const MachRegister & | subreg, | |
| MachRegisterVal & | orig | |||
| ) | const |
Definition at line 99 of file dyn_regs.C.
References Dyninst::Arch_ppc32, Dyninst::Arch_ppc64, getArchitecture(), getBaseRegister(), and reg.
| void Dyninst::MachRegister::init_names | ( | ) | [private] |
| bool MachRegister::isFramePointer | ( | ) | const |
Definition at line 262 of file dyn_regs.C.
| bool MachRegister::isPC | ( | ) | const |
Definition at line 256 of file dyn_regs.C.
Referenced by Dyninst::x86OperandParser::createRegisterNames().
| bool MachRegister::isStackPointer | ( | ) | const |
Definition at line 268 of file dyn_regs.C.
| bool MachRegister::isValid | ( | ) | const |
Definition at line 95 of file dyn_regs.C.
References reg.
| std::string MachRegister::name | ( | ) | const |
Definition at line 118 of file dyn_regs.C.
Referenced by Dyninst::ppcOperandParser::createRegisterNames(), Dyninst::x86OperandParser::createRegisterNames(), Dyninst::SymtabAPI::localVar::expandLocation(), Dyninst::Dwarf::DwarfFrameParser::getRegAtFrame(), Dyninst::Dwarf::DwarfFrameParser::getRegRepAtFrame(), Dyninst::Dwarf::DwarfFrameParser::getRegsForFunction(), Dyninst::Dwarf::DwarfFrameParser::getRegValueAtFrame(), Dyninst::Dwarf::DwarfFrameParser::handleExpression(), operator<<(), Dyninst::Dwarf::SymbolicDwarfResult::pushReg(), Dyninst::Dwarf::ConcreteDwarfResult::readReg(), and Dyninst::Dwarf::SymbolicDwarfResult::readReg().
| boost::shared_ptr< MachRegister::NameMap > MachRegister::names | ( | ) | [static, private] |
Definition at line 41 of file dyn_regs.C.
Referenced by Dyninst::ppcOperandParser::createRegisterNames(), Dyninst::x86OperandParser::createRegisterNames(), MachRegister(), and name().
| MachRegister::operator signed int | ( | ) | const |
Definition at line 193 of file dyn_regs.C.
References reg.
| bool MachRegister::operator< | ( | const MachRegister & | a | ) | const |
Definition at line 185 of file dyn_regs.C.
References reg.
| bool MachRegister::operator== | ( | const MachRegister & | a | ) | const |
Definition at line 189 of file dyn_regs.C.
References reg.
| unsigned int MachRegister::regClass | ( | ) | const |
Definition at line 70 of file dyn_regs.C.
References reg.
Referenced by Dyninst::ppcOperandParser::createRegisterNames(), and Dyninst::x86OperandParser::createRegisterNames().
| unsigned int MachRegister::size | ( | ) | const |
Definition at line 127 of file dyn_regs.C.
References Dyninst::Arch_none, Dyninst::Arch_ppc32, Dyninst::Arch_ppc64, Dyninst::Arch_x86, Dyninst::Arch_x86_64, Dyninst::x86_64::BIT, Dyninst::x86::BIT, Dyninst::x86_64::D_REG, Dyninst::x86_64::FPDBL, Dyninst::x86::FPDBL, Dyninst::ppc32::FPR, Dyninst::ppc32::FSR, Dyninst::x86_64::FULL, Dyninst::x86::FULL, getArchitecture(), Dyninst::x86_64::H_REG, Dyninst::x86::H_REG, Dyninst::x86_64::L_REG, Dyninst::x86::L_REG, Dyninst::x86_64::OCT, Dyninst::x86::OCT, Dyninst::x86::QUAD, reg, Dyninst::x86_64::W_REG, and Dyninst::x86::W_REG.
| signed int MachRegister::val | ( | ) | const |
friend struct ::Dyninst::ppcOperandParser [friend] |
Definition at line 62 of file dyn_regs.h.
friend struct ::Dyninst::x86OperandParser [friend] |
Definition at line 61 of file dyn_regs.h.
signed int Dyninst::MachRegister::reg [private] |
Definition at line 64 of file dyn_regs.h.
Referenced by getArchitecture(), getBaseRegister(), getROSERegister(), getSubRegValue(), isValid(), name(), operator signed int(), operator<(), operator==(), regClass(), size(), and val().
1.6.1