HPCToolkit
BinUtil::Proc Class Reference

#include <Proc.hpp>

Collaboration diagram for BinUtil::Proc:

Public Types

enum  Type {
  Local, Weak, Global, Quasi,
  Unknown, Data
}
 

Public Member Functions

 Proc (TextSeg *seg, const std::string &name, const std::string &linkname, Type t, VMA begVMA, VMA endVMA, unsigned int size)
 
virtual ~Proc ()
 
TextSegseg () const
 
LMlm () const
 
const std::string & name () const
 
void name (const std::string &name)
 
const std::string & linkName () const
 
Type type () const
 
void type (Type type)
 
VMA begVMA () const
 
VMA endVMA () const
 
void endVMA (VMA endVMA)
 
uint size () const
 
void size (unsigned int size)
 
bool hasSymbolic ()
 
const std::string & filename () const
 
void filename (std::string &x)
 
SrcFile::ln begLine () const
 
void begLine (SrcFile::ln x)
 
Procparent () const
 
void parent (Proc *x)
 
bool isIn (VMA vma) const
 
unsigned int id () const
 
unsigned int numInsns () const
 
InsnbegInsn () const
 
InsnendInsn () const
 
MachInsnfindMachInsn (VMA vma, ushort &sz) const
 
InsnfindInsn (VMA vma, ushort opIndex) const
 
bool findSrcCodeInfo (VMA vma, ushort opIndex, std::string &func, std::string &file, SrcFile::ln &line) const
 
bool findSrcCodeInfo (VMA begVMA, ushort bOpIndex, VMA endVMA, ushort eOpIndex, std::string &func, std::string &file, SrcFile::ln &begLine, SrcFile::ln &endLine, unsigned flags=1) const
 
std::string toString (int flags=LM::DUMP_Short) const
 
virtual void dump (std::ostream &o=std::cerr, int flags=LM::DUMP_Short, const char *pre="") const
 
void ddump () const
 
bool isDummyProc () const
 

Static Public Member Functions

static bool isProcBFDSym (asymbol *sym)
 
static bool isDummyProcBFDSym (asymbol *sym)
 

Private Member Functions

 Proc ()
 
 Proc (const Proc &GCC_ATTR_UNUSED p)
 
Procoperator= (const Proc &GCC_ATTR_UNUSED p)
 

Private Attributes

TextSegm_seg
 
std::string m_name
 
std::string m_linkname
 
Type m_type
 
VMA m_begVMA
 
VMA m_endVMA
 
unsigned int m_size
 
std::string m_filenm
 
SrcFile::ln m_begLine
 
Procm_parent
 
unsigned int m_id
 
unsigned int m_numInsns
 

Static Private Attributes

static unsigned int nextId = 0
 

Friends

class ProcInsnIterator
 

Detailed Description

Definition at line 92 of file Proc.hpp.

Member Enumeration Documentation

◆ Type

Enumerator
Local 
Weak 
Global 
Quasi 
Unknown 
Data 

Definition at line 94 of file Proc.hpp.

Constructor & Destructor Documentation

◆ Proc() [1/3]

BinUtil::Proc::Proc ( TextSeg seg,
const std::string &  name,
const std::string &  linkname,
Type  t,
VMA  begVMA,
VMA  endVMA,
unsigned int  size 
)

◆ ~Proc()

BinUtil::Proc::~Proc ( )
virtual

Definition at line 102 of file Proc.cpp.

◆ Proc() [2/3]

BinUtil::Proc::Proc ( )
inlineprivate

Definition at line 311 of file Proc.hpp.

◆ Proc() [3/3]

BinUtil::Proc::Proc ( const Proc &GCC_ATTR_UNUSED  p)
inlineprivate

Definition at line 314 of file Proc.hpp.

Member Function Documentation

◆ begInsn()

Insn* BinUtil::Proc::begInsn ( ) const
inline

Definition at line 223 of file Proc.hpp.

Here is the call graph for this function:

◆ begLine() [1/2]

SrcFile::ln BinUtil::Proc::begLine ( ) const
inline

Definition at line 186 of file Proc.hpp.

Here is the caller graph for this function:

◆ begLine() [2/2]

void BinUtil::Proc::begLine ( SrcFile::ln  x)
inline

Definition at line 190 of file Proc.hpp.

◆ begVMA()

VMA BinUtil::Proc::begVMA ( ) const
inline

Definition at line 148 of file Proc.hpp.

Here is the caller graph for this function:

◆ ddump()

void BinUtil::Proc::ddump ( ) const

Definition at line 224 of file Proc.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dump()

void BinUtil::Proc::dump ( std::ostream &  o = std::cerr,
int  flags = LM::DUMP_Short,
const char *  pre = "" 
) const
virtual

Definition at line 132 of file Proc.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ endInsn()

BinUtil::Insn * BinUtil::Proc::endInsn ( ) const

Definition at line 109 of file Proc.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ endVMA() [1/2]

VMA BinUtil::Proc::endVMA ( ) const
inline

Definition at line 152 of file Proc.hpp.

Here is the caller graph for this function:

◆ endVMA() [2/2]

void BinUtil::Proc::endVMA ( VMA  endVMA)
inline

Definition at line 156 of file Proc.hpp.

Here is the call graph for this function:

◆ filename() [1/2]

const std::string& BinUtil::Proc::filename ( ) const
inline

Definition at line 178 of file Proc.hpp.

Here is the caller graph for this function:

◆ filename() [2/2]

void BinUtil::Proc::filename ( std::string &  x)
inline

Definition at line 182 of file Proc.hpp.

◆ findInsn()

Insn* BinUtil::Proc::findInsn ( VMA  vma,
ushort  opIndex 
) const
inline

Definition at line 238 of file Proc.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findMachInsn()

MachInsn* BinUtil::Proc::findMachInsn ( VMA  vma,
ushort sz 
) const
inline

Definition at line 234 of file Proc.hpp.

Here is the call graph for this function:

◆ findSrcCodeInfo() [1/2]

bool BinUtil::Proc::findSrcCodeInfo ( VMA  vma,
ushort  opIndex,
std::string &  func,
std::string &  file,
SrcFile::ln line 
) const
inline

Definition at line 242 of file Proc.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findSrcCodeInfo() [2/2]

bool BinUtil::Proc::findSrcCodeInfo ( VMA  begVMA,
ushort  bOpIndex,
VMA  endVMA,
ushort  eOpIndex,
std::string &  func,
std::string &  file,
SrcFile::ln begLine,
SrcFile::ln endLine,
unsigned  flags = 1 
) const
inline

Definition at line 248 of file Proc.hpp.

Here is the call graph for this function:

◆ hasSymbolic()

bool BinUtil::Proc::hasSymbolic ( )
inline

Definition at line 174 of file Proc.hpp.

Here is the call graph for this function:

◆ id()

unsigned int BinUtil::Proc::id ( ) const
inline

Definition at line 213 of file Proc.hpp.

Here is the caller graph for this function:

◆ isDummyProc()

bool BinUtil::Proc::isDummyProc ( ) const
inline

Definition at line 304 of file Proc.hpp.

Here is the caller graph for this function:

◆ isDummyProcBFDSym()

static bool BinUtil::Proc::isDummyProcBFDSym ( asymbol *  sym)
inlinestatic

Definition at line 296 of file Proc.hpp.

Here is the caller graph for this function:

◆ isIn()

bool BinUtil::Proc::isIn ( VMA  vma) const
inline

Definition at line 208 of file Proc.hpp.

◆ isProcBFDSym()

static bool BinUtil::Proc::isProcBFDSym ( asymbol *  sym)
inlinestatic

Definition at line 283 of file Proc.hpp.

Here is the caller graph for this function:

◆ linkName()

const std::string& BinUtil::Proc::linkName ( ) const
inline

Definition at line 131 of file Proc.hpp.

Here is the caller graph for this function:

◆ lm()

LM* BinUtil::Proc::lm ( ) const
inline

Definition at line 115 of file Proc.hpp.

Here is the call graph for this function:

◆ name() [1/2]

const std::string& BinUtil::Proc::name ( ) const
inline

Definition at line 122 of file Proc.hpp.

Here is the caller graph for this function:

◆ name() [2/2]

void BinUtil::Proc::name ( const std::string &  name)
inline

Definition at line 126 of file Proc.hpp.

Here is the call graph for this function:

◆ numInsns()

unsigned int BinUtil::Proc::numInsns ( ) const
inline

Definition at line 218 of file Proc.hpp.

◆ operator=()

Proc& BinUtil::Proc::operator= ( const Proc &GCC_ATTR_UNUSED  p)
inlineprivate

Definition at line 318 of file Proc.hpp.

◆ parent() [1/2]

Proc* BinUtil::Proc::parent ( ) const
inline

Definition at line 194 of file Proc.hpp.

Here is the caller graph for this function:

◆ parent() [2/2]

void BinUtil::Proc::parent ( Proc x)
inline

Definition at line 198 of file Proc.hpp.

◆ seg()

TextSeg* BinUtil::Proc::seg ( ) const
inline

Definition at line 111 of file Proc.hpp.

◆ size() [1/2]

uint BinUtil::Proc::size ( ) const
inline

Definition at line 161 of file Proc.hpp.

Here is the caller graph for this function:

◆ size() [2/2]

void BinUtil::Proc::size ( unsigned int  size)
inline

Definition at line 165 of file Proc.hpp.

Here is the call graph for this function:

◆ toString()

string BinUtil::Proc::toString ( int  flags = LM::DUMP_Short) const

Definition at line 123 of file Proc.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ type() [1/2]

Type BinUtil::Proc::type ( ) const
inline

Definition at line 136 of file Proc.hpp.

Here is the caller graph for this function:

◆ type() [2/2]

void BinUtil::Proc::type ( Type  type)
inline

Definition at line 140 of file Proc.hpp.

Here is the call graph for this function:

Friends And Related Function Documentation

◆ ProcInsnIterator

friend class ProcInsnIterator
friend

Definition at line 275 of file Proc.hpp.

Member Data Documentation

◆ m_begLine

SrcFile::ln BinUtil::Proc::m_begLine
private

Definition at line 335 of file Proc.hpp.

◆ m_begVMA

VMA BinUtil::Proc::m_begVMA
private

Definition at line 329 of file Proc.hpp.

◆ m_endVMA

VMA BinUtil::Proc::m_endVMA
private

Definition at line 330 of file Proc.hpp.

◆ m_filenm

std::string BinUtil::Proc::m_filenm
private

Definition at line 334 of file Proc.hpp.

◆ m_id

unsigned int BinUtil::Proc::m_id
private

Definition at line 338 of file Proc.hpp.

◆ m_linkname

std::string BinUtil::Proc::m_linkname
private

Definition at line 326 of file Proc.hpp.

◆ m_name

std::string BinUtil::Proc::m_name
private

Definition at line 325 of file Proc.hpp.

◆ m_numInsns

unsigned int BinUtil::Proc::m_numInsns
private

Definition at line 339 of file Proc.hpp.

◆ m_parent

Proc* BinUtil::Proc::m_parent
private

Definition at line 336 of file Proc.hpp.

◆ m_seg

TextSeg* BinUtil::Proc::m_seg
private

Definition at line 323 of file Proc.hpp.

◆ m_size

unsigned int BinUtil::Proc::m_size
private

Definition at line 331 of file Proc.hpp.

◆ m_type

Type BinUtil::Proc::m_type
private

Definition at line 327 of file Proc.hpp.

◆ nextId

unsigned int BinUtil::Proc::nextId = 0
staticprivate

Definition at line 341 of file Proc.hpp.


The documentation for this class was generated from the following files: