Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

BaseGen Class Reference

#include <Base.h>

Inheritance diagram for BaseGen:

AOutHeaderGen FileHeaderGen LineInfoTableGen RawSectionGen RelocationTableGen SectHeaderGen StringTableGen SymbolTableGen List of all members.

Public Member Functions

virtual BasegetParsedBase ()
uint8_t getType ()
uint32_t getSizeInBytes ()
uint32_t getFileOffset ()
virtual uint32_t setFileOffset (uint32_t offset)
bool hasInvalidFileOffset ()
virtual void print ()
void initInstrumentationBuffer (XCoffFileGen *xCoffGen)
virtual void instrument (XCoffFileGen *xCoffGen)
virtual void dump (BinaryOutputFile *bf)
void verifyIdentical (char *origFile, char *instFile)
void printOffsetMapping ()
bool includesFileOffset (uint32_t offset)
uint32_t convertFileOffset (uint32_t oldOffset)
void writeWord (uint32_t offset, uint32_t value)
void writeHalfWord (uint32_t offset, uint16_t value)
void writeDouble (uint32_t offset, uint64_t value)
void writeInstructions (uint32_t offset, uint32_t insnCount, Instruction *insnBuffer)
void writeString (uint32_t offset, char *buff, uint32_t len)

Protected Member Functions

 BaseGen ()
 BaseGen (uint8_t t)
virtual ~BaseGen ()

Protected Attributes

uint8_t type
uint32_t sizeInBytes
uint32_t fileOffset
char * instBuffer

Static Protected Attributes

const uint32_t invalidOffset = 0xffffffff

Constructor & Destructor Documentation

BaseGen::BaseGen  )  [inline, protected]
 

Definition at line 163 of file Base.h.

References fileOffset, instBuffer, invalidOffset, sizeInBytes, type, and XCoffClassTypes_no_type.

BaseGen::BaseGen uint8_t  t  )  [inline, protected]
 

Definition at line 164 of file Base.h.

References fileOffset, instBuffer, invalidOffset, sizeInBytes, and type.

virtual BaseGen::~BaseGen  )  [inline, protected, virtual]
 

Definition at line 165 of file Base.h.


Member Function Documentation

uint32_t BaseGen::convertFileOffset uint32_t  oldOffset  ) 
 

Definition at line 237 of file Base.C.

References getFileOffset(), Base::getFileOffset(), getParsedBase(), Base::includesFileOffset(), and PRINT_DEBUG.

Referenced by SymbolTable::instrument().

void BaseGen::dump BinaryOutputFile bf  )  [virtual]
 

Definition at line 138 of file Base.C.

References ASSERT, BinaryOutputFile::copyBytes(), fileOffset, instBuffer, and sizeInBytes.

Referenced by XCoffFileGen::dump().

uint32_t BaseGen::getFileOffset  )  [inline]
 

Definition at line 174 of file Base.h.

References fileOffset.

Referenced by convertFileOffset(), XCoffFileGen::getLineInfoOffsetForInst(), XCoffFileGen::getRawSectionOffsetForInst(), XCoffFileGen::getRelocOffsetForInst(), XCoffFileGen::getSymbolTableOffsetForInst(), includesFileOffset(), printOffsetMapping(), and verifyIdentical().

virtual Base* BaseGen::getParsedBase  )  [inline, virtual]
 

Reimplemented in FileHeaderGen, AOutHeaderGen, SectHeaderGen, RawSectionGen, RelocationTableGen, LineInfoTableGen, SymbolTableGen, and StringTableGen.

Definition at line 169 of file Base.h.

References __SHOULD_NOT_ARRIVE.

Referenced by binarySearch(), compareOriginalFileOffsets(), convertFileOffset(), CountAllBlocks::generateCodeForInst(), CacheSimulator::generateCodeForInst(), BasicBlockTracer::generateCodeForInst(), BasicBlockCounter::generateCodeForInst(), initInstrumentationBuffer(), SymbolTable::instrument(), instrument(), printOffsetMapping(), and verifyIdentical().

uint32_t BaseGen::getSizeInBytes  )  [inline]
 

Definition at line 172 of file Base.h.

References sizeInBytes.

Referenced by XCoffFileGen::getRawSectionSizeForInst(), includesFileOffset(), TextSection::instrument(), printOffsetMapping(), and verifyIdentical().

uint8_t BaseGen::getType  )  [inline]
 

Definition at line 171 of file Base.h.

References type.

bool BaseGen::hasInvalidFileOffset  )  [inline]
 

Definition at line 176 of file Base.h.

References fileOffset, and invalidOffset.

Referenced by XCoffFileGen::getAllObjects(), XCoffFileGen::getLineInfoOffsetForInst(), XCoffFileGen::getNumberOfAllObjects(), XCoffFileGen::getRawSectionOffsetForInst(), XCoffFileGen::getRelocOffsetForInst(), XCoffFileGen::getSymbolTableOffsetForInst(), includesFileOffset(), instrument(), and verifyIdentical().

bool BaseGen::includesFileOffset uint32_t  offset  ) 
 

Definition at line 229 of file Base.C.

References getFileOffset(), getSizeInBytes(), and hasInvalidFileOffset().

void BaseGen::initInstrumentationBuffer XCoffFileGen xCoffGen  ) 
 

Definition at line 115 of file Base.C.

References Base::getInstrumentationSize(), getParsedBase(), instBuffer, and sizeInBytes.

Referenced by XCoffFileGen::inst_step1_allocateBuffers().

void BaseGen::instrument XCoffFileGen xCoffGen  )  [virtual]
 

Definition at line 126 of file Base.C.

References ASSERT, Base::getInstrumentationSize(), getParsedBase(), hasInvalidFileOffset(), instBuffer, Base::instrument(), and sizeInBytes.

Referenced by XCoffFileGen::inst_step3_instrumentInBuffer().

virtual void BaseGen::print  )  [inline, virtual]
 

Definition at line 178 of file Base.h.

References __SHOULD_NOT_ARRIVE.

Referenced by writeInstructions().

void BaseGen::printOffsetMapping  ) 
 

Definition at line 145 of file Base.C.

References Base::briefName(), Base::getFileOffset(), getFileOffset(), getParsedBase(), Base::getSizeInBytes(), getSizeInBytes(), and PRINT_INFOR.

Referenced by XCoffFileGen::inst_step2_setFileOffsets().

uint32_t BaseGen::setFileOffset uint32_t  offset  )  [virtual]
 

Reimplemented in RawSectionGen.

Definition at line 72 of file Base.C.

References fileOffset, nextAlignAddressHalfWord(), and sizeInBytes.

Referenced by XCoffFileGen::inst_step2_setFileOffsets(), and RawSectionGen::setFileOffset().

void BaseGen::verifyIdentical char *  origFile,
char *  instFile
 

Definition at line 154 of file Base.C.

References ASSERT, Base::briefName(), Base::getFileOffset(), getFileOffset(), getParsedBase(), Base::getSizeInBytes(), getSizeInBytes(), hasInvalidFileOffset(), PRINT_DEBUG, and PRINT_ERROR.

Referenced by IdenticalInstrumentor::verify().

void BaseGen::writeDouble uint32_t  offset,
uint64_t  value
 

Definition at line 267 of file Base.C.

References instBuffer, and sizeInBytes.

void BaseGen::writeHalfWord uint32_t  offset,
uint16_t  value
 

Definition at line 247 of file Base.C.

References instBuffer, and sizeInBytes.

Referenced by CacheSimulator::initializeReservedData().

void BaseGen::writeInstructions uint32_t  offset,
uint32_t  insnCount,
Instruction insnBuffer
 

Definition at line 276 of file Base.C.

References DEBUG_MORE, print(), PRINT_INFOR, and writeWord().

Referenced by CountAllBlocks::generateCodeForInst(), CacheSimulator::generateCodeForInst(), BasicBlockTracer::generateCodeForInst(), BasicBlockCounter::generateCodeForInst(), CountAllBlocks::generateSharedLibFuncWrapper(), CommonMethods::generateSharedLibFuncWrapper(), and BasicBlockTracer::generateSharedLibFuncWrapper().

void BaseGen::writeString uint32_t  offset,
char *  buff,
uint32_t  len
 

Definition at line 287 of file Base.C.

References instBuffer, and sizeInBytes.

Referenced by CountAllBlocks::initializeReservedData(), CacheSimulator::initializeReservedData(), BasicBlockTracer::initializeReservedData(), and BasicBlockCounter::initializeReservedData().

void BaseGen::writeWord uint32_t  offset,
uint32_t  value
 

Definition at line 258 of file Base.C.

References instBuffer, and sizeInBytes.

Referenced by CountAllBlocks::generateCodeForInst(), CacheSimulator::generateCodeForInst(), BasicBlockTracer::generateCodeForInst(), BasicBlockCounter::generateCodeForInst(), BasicBlockTracer::initializeReservedData(), and writeInstructions().


Member Data Documentation

uint32_t BaseGen::fileOffset [protected]
 

Definition at line 160 of file Base.h.

Referenced by BaseGen(), dump(), getFileOffset(), hasInvalidFileOffset(), and setFileOffset().

char* BaseGen::instBuffer [protected]
 

Definition at line 161 of file Base.h.

Referenced by BaseGen(), dump(), initInstrumentationBuffer(), instrument(), writeDouble(), writeHalfWord(), writeString(), and writeWord().

const uint32_t BaseGen::invalidOffset = 0xffffffff [static, protected]
 

Definition at line 156 of file Base.h.

Referenced by BaseGen(), and hasInvalidFileOffset().

uint32_t BaseGen::sizeInBytes [protected]
 

Definition at line 159 of file Base.h.

Referenced by BaseGen(), dump(), getSizeInBytes(), initInstrumentationBuffer(), instrument(), setFileOffset(), writeDouble(), writeHalfWord(), writeString(), and writeWord().

uint8_t BaseGen::type [protected]
 

Definition at line 158 of file Base.h.

Referenced by BaseGen(), and getType().


The documentation for this class was generated from the following files:
Generated on Mon Jan 28 11:08:37 2008 for PMaCInstrumentor by doxygen 1.3.5