HPCToolkit
x86ISABinutils Class Referenceabstract

#include <x86ISABinutils.hpp>

Inheritance diagram for x86ISABinutils:
Collaboration diagram for x86ISABinutils:

Public Member Functions

 x86ISABinutils (bool is_x86_64=false)
 
virtual ~x86ISABinutils ()
 
virtual ushort getInsnSize (MachInsn *mi)
 
virtual InsnDesc getInsnDesc (MachInsn *mi, ushort opIndex, ushort sz=0)
 
virtual VMA getInsnTargetVMA (MachInsn *mi, VMA vma, ushort opIndex, ushort sz=0)
 
virtual void decode (std::ostream &os, MachInsn *mi, VMA vma, ushort opIndex)
 
virtual ushort getInsnNumOps (MachInsn *GCC_ATTR_UNUSED mi)
 
virtual ushort getInsnNumOps (MachInsn *mi)=0
 
virtual ushort getInsnNumDelaySlots (MachInsn *GCC_ATTR_UNUSED mi, ushort GCC_ATTR_UNUSED opIndex, ushort GCC_ATTR_UNUSED sz=0)
 
virtual ushort getInsnNumDelaySlots (MachInsn *mi, ushort opIndex, ushort sz=0)=0
 
virtual bool isParallelWithSuccessor (MachInsn *GCC_ATTR_UNUSED mi1, ushort GCC_ATTR_UNUSED opIndex1, ushort GCC_ATTR_UNUSED sz1, MachInsn *GCC_ATTR_UNUSED mi2, ushort GCC_ATTR_UNUSED opIndex2, ushort GCC_ATTR_UNUSED sz2) const
 
virtual bool isParallelWithSuccessor (MachInsn *mi1, ushort opIndex1, ushort sz1, MachInsn *mi2, ushort opIndex2, ushort sz2) const =0
 
void attach ()
 
void detach ()
 
virtual VMA convertVMAToOpVMA (VMA vma, ushort GCC_ATTR_UNUSED opIndex) const
 
virtual VMA convertOpVMAToVMA (VMA opvma, ushort &opIndex) const
 

Protected Member Functions

DecodingCachecacheLookup (MachInsn *cmi)
 
void cacheSet (MachInsn *cmi, ushort size)
 

Private Attributes

bool m_is_x86_64
 
struct disassemble_info * m_di
 
struct disassemble_info * m_di_dis
 
GNUbu_disdata m_dis_data
 

Detailed Description

Definition at line 86 of file x86ISABinutils.hpp.

Constructor & Destructor Documentation

◆ x86ISABinutils()

x86ISABinutils::x86ISABinutils ( bool  is_x86_64 = false)

Definition at line 88 of file x86ISABinutils.cpp.

Here is the call graph for this function:

◆ ~x86ISABinutils()

x86ISABinutils::~x86ISABinutils ( )
virtual

Definition at line 116 of file x86ISABinutils.cpp.

Member Function Documentation

◆ attach()

void ISA::attach ( )
inlineinherited

Definition at line 384 of file ISA.hpp.

Here is the caller graph for this function:

◆ cacheLookup()

DecodingCache* ISA::cacheLookup ( MachInsn cmi)
inlineprotectedinherited

Definition at line 489 of file ISA.hpp.

Here is the caller graph for this function:

◆ cacheSet()

void ISA::cacheSet ( MachInsn cmi,
ushort  size 
)
inlineprotectedinherited

Definition at line 501 of file ISA.hpp.

Here is the caller graph for this function:

◆ convertOpVMAToVMA()

virtual VMA ISA::convertOpVMAToVMA ( VMA  opvma,
ushort opIndex 
) const
inlinevirtualinherited

Reimplemented in IA64ISA.

Definition at line 475 of file ISA.hpp.

Here is the caller graph for this function:

◆ convertVMAToOpVMA()

virtual VMA ISA::convertVMAToOpVMA ( VMA  vma,
ushort GCC_ATTR_UNUSED  opIndex 
) const
inlinevirtualinherited

Definition at line 471 of file ISA.hpp.

Here is the caller graph for this function:

◆ decode()

void x86ISABinutils::decode ( std::ostream &  os,
MachInsn mi,
VMA  vma,
ushort  opIndex 
)
virtual

Reimplemented from x86ISA.

Definition at line 222 of file x86ISABinutils.cpp.

◆ detach()

void ISA::detach ( )
inlineinherited

Definition at line 388 of file ISA.hpp.

Here is the caller graph for this function:

◆ getInsnDesc()

ISA::InsnDesc x86ISABinutils::getInsnDesc ( MachInsn mi,
ushort  opIndex,
ushort  sz = 0 
)
virtual

Reimplemented from x86ISA.

Definition at line 141 of file x86ISABinutils.cpp.

Here is the call graph for this function:

◆ getInsnNumDelaySlots() [1/2]

virtual ushort x86ISA::getInsnNumDelaySlots ( MachInsn *GCC_ATTR_UNUSED  mi,
ushort GCC_ATTR_UNUSED  opIndex,
ushort GCC_ATTR_UNUSED  sz = 0 
)
inlinevirtualinherited

Definition at line 116 of file x86ISA.hpp.

◆ getInsnNumDelaySlots() [2/2]

virtual ushort ISA::getInsnNumDelaySlots ( MachInsn mi,
ushort  opIndex,
ushort  sz = 0 
)
pure virtualinherited

Implemented in MipsISA, PowerISA, SparcISA, and EmptyISA.

Here is the caller graph for this function:

◆ getInsnNumOps() [1/2]

virtual ushort x86ISA::getInsnNumOps ( MachInsn *GCC_ATTR_UNUSED  mi)
inlinevirtualinherited

Definition at line 101 of file x86ISA.hpp.

◆ getInsnNumOps() [2/2]

virtual ushort ISA::getInsnNumOps ( MachInsn mi)
pure virtualinherited

Implemented in IA64ISA.

Here is the caller graph for this function:

◆ getInsnSize()

ushort x86ISABinutils::getInsnSize ( MachInsn mi)
virtual

Reimplemented from x86ISA.

Definition at line 124 of file x86ISABinutils.cpp.

Here is the call graph for this function:

◆ getInsnTargetVMA()

VMA x86ISABinutils::getInsnTargetVMA ( MachInsn mi,
VMA  vma,
ushort  opIndex,
ushort  sz = 0 
)
virtual

Reimplemented from x86ISA.

Definition at line 202 of file x86ISABinutils.cpp.

Here is the call graph for this function:

◆ isParallelWithSuccessor() [1/2]

virtual bool x86ISA::isParallelWithSuccessor ( MachInsn *GCC_ATTR_UNUSED  mi1,
ushort GCC_ATTR_UNUSED  opIndex1,
ushort GCC_ATTR_UNUSED  sz1,
MachInsn *GCC_ATTR_UNUSED  mi2,
ushort GCC_ATTR_UNUSED  opIndex2,
ushort GCC_ATTR_UNUSED  sz2 
) const
inlinevirtualinherited

Definition at line 122 of file x86ISA.hpp.

◆ isParallelWithSuccessor() [2/2]

virtual bool ISA::isParallelWithSuccessor ( MachInsn mi1,
ushort  opIndex1,
ushort  sz1,
MachInsn mi2,
ushort  opIndex2,
ushort  sz2 
) const
pure virtualinherited
Here is the caller graph for this function:

Member Data Documentation

◆ m_di

struct disassemble_info* x86ISABinutils::m_di
private

Definition at line 110 of file x86ISABinutils.hpp.

◆ m_di_dis

struct disassemble_info* x86ISABinutils::m_di_dis
private

Definition at line 111 of file x86ISABinutils.hpp.

◆ m_dis_data

GNUbu_disdata x86ISABinutils::m_dis_data
private

Definition at line 112 of file x86ISABinutils.hpp.

◆ m_is_x86_64

bool x86ISABinutils::m_is_x86_64
private

Definition at line 109 of file x86ISABinutils.hpp.


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