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

/users/u3/mtikir/PMaCInstrumentor_v1601/include/Base.h File Reference

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <strings.h>
#include <string.h>
#include <CStructures.h>

Go to the source code of this file.

Classes

class  Base
class  BaseGen
class  HashCode
union  HashCode::HashCodeEntry
class  VersionTag

Defines

#define __MAX_STRING_SIZE   1024
#define __SHOULD_NOT_ARRIVE   assert(0 && "Should not be called")
#define GET_FIELD_BASIS(__type, __field)
#define GET_FIELD_CLASS(__type, __field)
#define GET_FIELD_BASIS_U(__type, __field, __union)
#define GET_FIELD_CLASS_U(__type, __field, __union)
#define GET_FIELD_BASIS_A(__type, __field, __union)
#define GET_FIELD_CLASS_A(__type, __field, __union)   inline __type get_ ## __union ## _ ## __field()
#define GET(__field)   get_ ## __field()
#define GET_A(__field, __union)   get_ ## __union ## _ ## __field()
#define PRINT_ERROR()
#define PRINT_INFOR()
#define PRINT_DEBUG()
#define DEBUG()
#define DEBUG_MORE()
#define ASSERT(__str)   assert(__str);
#define TIMER()   __VA_ARGS__
#define INNER_TIMER()
#define Invalid_UInteger_ID   (uint32_t)-1
#define Size__32_bit_File_Header   FILHSZ
#define Size__64_bit_File_Header   FILHSZ_64
#define Size__32_bit_Auxilary_Header   _AOUTHSZ_EXEC
#define Size__64_bit_Auxilary_Header   _AOUTHSZ_EXEC_64
#define Size__32_bit_Section_Header   SCNHSZ
#define Size__64_bit_Section_Header   SCNHSZ_64
#define Size__NN_bit_SymbolTable_Entry   SYMESZ
#define Size__32_bit_ExceptionTable_Entry   EXCEPTSZ
#define Size__64_bit_ExceptionTable_Entry   EXCEPTSZ_64
#define Size__32_bit_LineInfoTable_Entry   LINESZ
#define Size__64_bit_LineInfoTable_Entry   LINESZ_64
#define Size__32_bit_RelocationTable_Entry   RELSZ
#define Size__64_bit_RelocationTable_Entry   RELSZ_64
#define Size__32_bit_Loader_Section_Header   LDHDRSZ
#define Size__64_bit_Loader_Section_Header   LDHDRSZ_64
#define Size__32_bit_Loader_Section_Symbol   LDSYMSZ
#define Size__64_bit_Loader_Section_Symbol   LDSYMSZ_64
#define Size__32_bit_Loader_Section_Relocation   LDRELSZ
#define Size__64_bit_Loader_Section_Relocation   LDRELSZ_64
#define Type__Auxilary_Symbol_No_Type   0
#define Type__Auxilary_Symbol_Section   1
#define Type__Auxilary_Symbol_Exception   _AUX_EXCEPT
#define Type__Auxilary_Symbol_Function   _AUX_FCN
#define Type__Auxilary_Symbol_Block   _AUX_SYM
#define Type__Auxilary_Symbol_File   _AUX_FILE
#define Type__Auxilary_Symbol_CSect   _AUX_CSECT
#define FIRST_HALFWORD(__n)   ((__n) & 0xffff)
#define SECOND_HALFWORD(__n)   (((__n) >> 16) & 0xffff)

Enumerations

enum  XCoffClassTypes {
  XCoffClassTypes_no_type = 0, XCoffClassTypes_file_header, XCoffClassTypes_aout_header, XCoffClassTypes_sect_header,
  XCoffClassTypes_sect_rawdata, XCoffClassTypes_relocation, XCoffClassTypes_line_info, XCoffClassTypes_symbol_table,
  XCoffClassTypes_string_table, XCoffClassTypes_Total_Types
}

Functions

uint64_t nextAlignAddressHalfWord (uint64_t addr)
uint64_t nextAlignAddressWord (uint64_t addr)
uint64_t nextAlignAddressDouble (uint64_t addr)
double timer ()


Define Documentation

#define __MAX_STRING_SIZE   1024
 

Definition at line 12 of file Base.h.

Referenced by XCoffFileGen::dump(), SectHeader::print(), CountAllBlocks::printInstrumentationPoints(), CommonMethods::printInstrumentationPoints(), CountAllBlocks::reserveDataForInstrumentation(), CommonMethods::reserveDataForInstrumentation(), CacheSimulator::selectInstrumentationPoints(), and XCoffFileGen::XCoffFileGen().

#define __SHOULD_NOT_ARRIVE   assert(0 && "Should not be called")
 

Definition at line 13 of file Base.h.

Referenced by Base::briefName(), XCoffFileGen::byteCountForInst(), XCoffFileGen::byteCountForSharedLibFuncWrappers(), CommonMethods::bytesPerBufferEntry(), AuxilaryFunction::changeExptrLnnoptrCopy(), Symbol::changeValueCopy(), SymbolBase::charStream(), Relocation::charStream(), Exception::charStream(), LSRelocation::charStream(), LSSymbol::charStream(), LSHeader::charStream(), LineInfo::charStream(), CommonMethods::filterBlockForInst(), XCoffFileGen::generateCodeForInst(), XCoffFileGen::generateSharedLibFuncWrapper(), XCoffFileGen::getDataOffsetForInst(), XCoffFileGen::getGenClassName(), AuxilaryCSect::getLength(), SymbolBase::getName(), LSSymbol::getName(), Symbol::getNameDebugSection(), Symbol::getNameOffset(), LSSymbol::getNameOffset(), Symbol::getNameStringTable(), FileFinder::getNumberOfFunctions(), XCoffFileGen::getNumOfSharedLibFuncs(), BaseGen::getParsedBase(), XCoffFileGen::getSharedLibFuncAddrLocation(), XCoffFileGen::getSharedLibFuncName(), XCoffFileGen::getSharedLibraryPathAndObj(), SymbolBase::getTypeName(), CommonMethods::howManyBufferEntry(), XCoffFileGen::initializeReservedData(), Base::instrument(), SymbolBase::isAuxilary(), XCoffFileGen::maxByteCountPerInst(), SymbolBase::print(), FileFinder::print(), BaseGen::print(), Base::print(), XCoffFileGen::printInstrumentationPoints(), XCoffFileGen::reserveDataForInstrumentation(), XCoffFileGen::selectInstrumentationPoints(), XCoffFileGen::setAddrOfSharedLibFuncWrapper(), CommonMethods::spaceForBlockInfo(), and XCoffFileGen::verify().

#define ASSERT __str   )     assert(__str);
 

Definition at line 60 of file Base.h.

Referenced by BasicBlock::addEdge(), FlowGraph::buildLoops(), CountAllBlocks::byteCountForInst(), CacheSimulator::byteCountForInst(), BasicBlockTracer::byteCountForInst(), BasicBlockCounter::byteCountForInst(), compareSymbolValue(), LengauerTarjan::depthFirstSearch(), XCoffFile::displaySymbols(), BSSSection::displaySymbols(), RawSection::displaySymbols(), XCoffFileGen::dump(), BaseGen::dump(), BitSet< BasicBlock * >::duplicateMembers(), LinkedList< uint32_t >::empty(), XCoffFile::findBasicBlock(), XCoffFile::findFunctions(), TextSection::findFunctions(), XCoffFile::findMemoryFloatOps(), XCoffFile::findRawSection(), Function::Function(), Instruction::generateAddImm(), Instruction::generateAddImmShifted(), Function::generateCFG(), XCoffFile::generateCFGs(), CountAllBlocks::generateCodeForInst(), CacheSimulator::generateCodeForInst(), BasicBlockTracer::generateCodeForInst(), BasicBlockCounter::generateCodeForInst(), Instruction::generateCondBranch(), Instruction::generateJumpInsn(), Instruction::generateLoadDouble(), Instruction::generateLoadDoubleFloat(), Instruction::generateLoadWord(), Instruction::generateLoadWordFloat(), CountAllBlocks::generateSharedLibFuncWrapper(), CommonMethods::generateSharedLibFuncWrapper(), BasicBlockTracer::generateSharedLibFuncWrapper(), Instruction::generateSPIncrementDouble(), Instruction::generateSPIncrementWord(), Instruction::generateStoreDouble(), Instruction::generateStoreDoubleFloat(), Instruction::generateStoreWord(), Instruction::generateStoreWordFloat(), RawSection::getAddressIterator(), Loop::getAllBlocks(), FlowGraph::getEntryBlock(), Instruction::getJTBaseAddrIndirOffset(), Instruction::getJTBaseOffsetTOC(), Function::getJumpTableInformation(), LineInfoTable::getLineInfo(), LineInfoFinder::getLineInfoIndex(), FlowGraph::getLoop(), Symbol::getName(), LSFileNameTable::getName(), XCoffFileGen::getNewBSSSectionVAddressForInst(), CountAllBlocks::getSharedLibFuncAddrLocation(), CommonMethods::getSharedLibFuncAddrLocation(), CountAllBlocks::getSharedLibFuncName(), CacheSimulator::getSharedLibFuncName(), BasicBlockTracer::getSharedLibFuncName(), BasicBlockCounter::getSharedLibFuncName(), CountAllBlocks::getSharedLibraryPathAndObj(), CacheSimulator::getSharedLibraryPathAndObj(), BasicBlockTracer::getSharedLibraryPathAndObj(), BasicBlockCounter::getSharedLibraryPathAndObj(), BasicBlock::getSourceBlock(), StringTable::getString(), TypeCommSection::getString(), DebugSection::getString(), LSStringTable::getString(), LSStringTable::getStringCopy(), SymbolTable::getSymbol(), SymbolTable::getSymbolLength(), Instruction::getTargetAddress(), BasicBlock::getTargetBlock(), SectHeader::getTypeName(), Auxilary::getTypeName(), LengauerTarjan::immediateDominators(), SectHeader::initFilePointers(), FlowGraph::initializeAllBlocks(), TextSection::instrument(), LoaderSection::instrument(), ExceptionSection::instrument(), SymbolTable::instrument(), RelocationTable::instrument(), LineInfoTable::instrument(), SectHeader64::instrument(), SectHeader32::instrument(), BaseGen::instrument(), Instruction::isInJumpInsnRange(), LengauerTarjan::LengauerTarjan(), main(), MemoryOperation::MemoryOperation(), Instruction::multiplyImmediate(), RawSection::newRawSection(), SymbolTable::newSymbol(), BitSet< BasicBlock * >::operator &=(), BitSet< BasicBlock * >::operator|=(), XCoffFile::parse(), Stack< T >::pop(), StringTable::print(), TypeCommSection::print(), DebugSection::print(), AuxilaryCSect::print(), FlowGraph::printInnerLoops(), SymbolTable::printSymbol(), XCoffFile::processOverflowSections(), Stack< T >::push(), RawSection::RawSection(), SymbolTable::read(), StringTable::read(), RelocationTable::read(), ExceptionSection::read(), LineInfoTable::read(), XCoffFile::readAuxilaryHeader(), RawSection::readBytes(), XCoffFile::readFileHeader(), XCoffFile::readRawSectionData(), XCoffFile::readSectionHeaders(), XCoffFile::readSymbolStringTable(), XCoffFile::readTOC(), CountAllBlocks::selectInstrumentationPoints(), CacheSimulator::selectInstrumentationPoints(), BasicBlockTracer::selectInstrumentationPoints(), BasicBlockCounter::selectInstrumentationPoints(), CountAllBlocks::setAddrOfSharedLibFuncWrapper(), CommonMethods::setAddrOfSharedLibFuncWrapper(), RawSectionGen::setFileOffset(), FlowGraph::setImmDominatorBlocks(), BasicBlock::setIndex(), SectHeader::setOverFlowSection(), LinkedList< uint32_t >::shift(), LineInfoFinder::testLineInfoFinder(), SimpleHash< T >::values(), IdenticalInstrumentor::verify(), SectHeader::verify(), BaseGen::verifyIdentical(), and XCoffFileGen::XCoffFileGen().

 
#define DEBUG  ) 
 

Definition at line 58 of file Base.h.

Referenced by CacheSimulator::generateCodeForInst(), SectHeader::getTypeName(), XCoffFileGen::inst_step4_updateBSSCSectionEntries(), main(), RawSection::newRawSection(), XCoffFile::parse(), DebugSection::print(), StringTable::read(), XCoffFile::readAuxilaryHeader(), XCoffFile::readFileHeader(), XCoffFile::readSectionHeaders(), CacheSimulator::selectInstrumentationPoints(), and RawSectionGen::setFileOffset().

 
#define DEBUG_MORE  ) 
 

Definition at line 59 of file Base.h.

Referenced by FlowGraph::buildLoops(), Function::generateCFG(), TextSection::instrument(), main(), and BaseGen::writeInstructions().

#define FIRST_HALFWORD __n   )     ((__n) & 0xffff)
 

Definition at line 253 of file Base.h.

Referenced by BasicBlockTracer::byteCountForInst(), CountAllBlocks::updateTOCRegister(), and CommonMethods::updateTOCRegister().

#define GET __field   )     get_ ## __field()
 

Definition at line 28 of file Base.h.

Referenced by Function::Function(), LineInfoFinder::getFunctionName(), LSSymbol32::getName(), Symbol32::getNameDebugSection(), Symbol64::getNameOffset(), Symbol32::getNameOffset(), LSSymbol64::getNameOffset(), LSSymbol32::getNameOffset(), Symbol32::getNameStringTable(), SectHeader::getRawDataSize(), Symbol::getTypeName(), SectHeader::getTypeName(), SectHeader::initFilePointers(), FileHeader::initFilePointers(), SectHeader::inRange(), TextSection::instrument(), SectHeader64::instrument(), SectHeader32::instrument(), AOutHeader64::instrument(), AOutHeader32::instrument(), LineInfoFinder::LineInfoFinder(), Symbol::print(), SectHeader::print(), Relocation::print(), Exception::print(), LSRelocation::print(), LSSymbol::print(), LSHeader::print(), LineInfo::print(), FileHeader::print(), AOutHeader::print(), LineInfoFinder::printFunctionSymbols(), LineInfoFinder::printLineInfoTable(), SectHeader::verify(), and FileHeader::verify().

#define GET_A __field,
__union   )     get_ ## __union ## _ ## __field()
 

Definition at line 29 of file Base.h.

Referenced by AuxilaryCSect64::getLength(), AuxilaryCSect32::getLength(), AuxilaryCSect::print(), AuxilaryFunction::print(), AuxilaryFile::print(), AuxilaryBlock::print(), AuxilaryException::print(), and AuxilarySection::print().

#define GET_FIELD_BASIS __type,
__field   ) 
 

Value:

virtual __type get_ ## __field() \
                                        { __SHOULD_NOT_ARRIVE; return ( __type )0; }

Definition at line 15 of file Base.h.

#define GET_FIELD_BASIS_A __type,
__field,
__union   ) 
 

Value:

virtual __type get_ ## __union ## _ ## __field() \
                                        { __SHOULD_NOT_ARRIVE; return ( __type )0; }

Definition at line 23 of file Base.h.

#define GET_FIELD_BASIS_U __type,
__field,
__union   ) 
 

Value:

virtual __type get_ ## __field() \
                                        { __SHOULD_NOT_ARRIVE; return ( __type )0; }

Definition at line 19 of file Base.h.

#define GET_FIELD_CLASS __type,
__field   ) 
 

Value:

inline __type get_ ## __field() \
                                        { return entry.__field ; }

Definition at line 17 of file Base.h.

#define GET_FIELD_CLASS_A __type,
__field,
__union   )     inline __type get_ ## __union ## _ ## __field()
 

Definition at line 26 of file Base.h.

#define GET_FIELD_CLASS_U __type,
__field,
__union   ) 
 

Value:

inline __type get_ ## __field() \
                                        { return entry.__union.__field ; }

Definition at line 21 of file Base.h.

 
#define INNER_TIMER  ) 
 

Definition at line 62 of file Base.h.

#define Invalid_UInteger_ID   (uint32_t)-1
 

Definition at line 66 of file Base.h.

Referenced by Loop::Loop(), and CommonMethods::printInstrumentationPoints().

 
#define PRINT_DEBUG  ) 
 

Definition at line 57 of file Base.h.

Referenced by BasicBlock::addEdge(), FlowGraph::buildLoops(), BasicBlockTracer::byteCountForInst(), BaseGen::convertFileOffset(), BinaryInputFile::copyBytes(), LengauerTarjan::depthFirstSearch(), RawSection::findFunctions(), RawSection::findMemoryFloatOps(), Function::generateCFG(), RawSection::generateCFGs(), CacheSimulator::generateCodeForInst(), BasicBlockTracer::generateCodeForInst(), BasicBlockTracer::generateSharedLibFuncWrapper(), Function::getJumpTableInformation(), XCoffFileGen::getNewBSSSectionVAddressForInst(), StringTable::getString(), Auxilary::getTypeName(), LengauerTarjan::immediateDominators(), BasicBlockTracer::initializeReservedData(), XCoffFileGen::inst_step2_setFileOffsets(), DataSection::instrument(), TextSection::instrument(), LoaderSection::instrument(), ExceptionSection::instrument(), RawSection::instrument(), StringTable::instrument(), SymbolTable::instrument(), RelocationTable::instrument(), LineInfoTable::instrument(), SectHeader64::instrument(), SectHeader32::instrument(), AOutHeader64::instrument(), AOutHeader32::instrument(), FileHeader64::instrument(), FileHeader32::instrument(), Function::parseJumpTable(), Instruction::print(), SymbolTable::read(), StringTable::read(), RelocationTable::read(), ExceptionSection::read(), LineInfoTable::read(), CountAllBlocks::selectInstrumentationPoints(), BasicBlockTracer::selectInstrumentationPoints(), BasicBlockCounter::selectInstrumentationPoints(), and BaseGen::verifyIdentical().

 
#define PRINT_ERROR  ) 
 

Value:

fprintf(stderr,"*********** ERROR : "); \
                         fprintf(stderr,## __VA_ARGS__); \
                         fprintf(stderr,"\n"); \
                         exit(-1);

Definition at line 31 of file Base.h.

Referenced by BinaryOutputFile::copyBytes(), XCoffFileGen::dump(), Function::generateCFG(), main(), XCoffFile::parse(), CountAllBlocks::printInstrumentationPoints(), CommonMethods::printInstrumentationPoints(), SectHeader64::read(), SectHeader32::read(), FileHeader64::read(), FileHeader32::read(), AOutHeader64::read(), AOutHeader32::read(), BinaryInputFile::readFileInMemory(), CountAllBlocks::selectInstrumentationPoints(), CacheSimulator::selectInstrumentationPoints(), BasicBlockTracer::selectInstrumentationPoints(), BasicBlockCounter::selectInstrumentationPoints(), FileHeader::verify(), and BaseGen::verifyIdentical().

 
#define PRINT_INFOR  ) 
 

Value:

fprintf(stdout,"Information : "); \
                         fprintf(stdout,## __VA_ARGS__); \
                         fprintf(stdout,"\n"); \
                         fflush(stdout);

Definition at line 36 of file Base.h.

Referenced by TextSection::buildLineInfoFinder(), TextSection::buildLoops(), CacheSimulator::byteCountForInst(), BasicBlockTracer::byteCountForInst(), BSSSection::displaySymbols(), RawSection::displaySymbols(), TextSection::findFunctions(), XCoffFile::findLoops(), TextSection::findMemoryFloatOps(), BasicBlock::findMemoryFloatOps(), CountAllBlocks::findTerminationBlock(), CommonMethods::findTerminationBlock(), Function::generateCFG(), TextSection::generateCFGs(), CountAllBlocks::generateCodeForInst(), CacheSimulator::generateCodeForInst(), BasicBlockTracer::generateCodeForInst(), BasicBlockCounter::generateCodeForInst(), XCoffFileGen::generateStubForAllLibraryCalls(), Symbol::getTypeName(), XCoffFileGen::inst_step4_updateBSSCSectionEntries(), main(), XCoffFile::parse(), SymbolTable::print(), Symbol::print(), StringTable::print(), SectHeader::print(), RelocationTable::print(), Relocation::print(), LoaderSection::print(), ExceptionSection::print(), Exception::print(), TypeCommSection::print(), DebugSection::print(), RawSection::print(), Loop::print(), LSStringTable::print(), LSFileNameTable::print(), LSRelocation::print(), LSSymbol::print(), LSHeader::print(), LineInfoTable::print(), LineInfo::print(), IncludeFileFinder::print(), SourceFileFinder::print(), FunctionFinder::print(), Function::print(), FlowGraph::print(), BasicBlock::print(), MemoryOperation::print(), FileHeader::print(), AuxilaryCSect::print(), AuxilaryFunction::print(), AuxilaryFile::print(), AuxilaryBlock::print(), AuxilaryException::print(), AuxilarySection::print(), Auxilary::print(), AOutHeader::print(), Stack< T >::print(), LinkedList< uint32_t >::print(), AddressIterator::print(), Operand::print(), LineInfoFinder::printFiles(), LineInfoFinder::printFunctions(), FlowGraph::printInnerLoops(), LineInfoFinder::printLineInfoTable(), BaseGen::printOffsetMapping(), XCoffFile::processOverflowSections(), SymbolTable::read(), XCoffFile::readAuxilaryHeader(), XCoffFile::readFileHeader(), BinaryInputFile::readFileInMemory(), XCoffFile::readRawSectionData(), XCoffFile::readRelocLineInfoTable(), XCoffFile::readSectionHeaders(), XCoffFile::readSymbolStringTable(), CountAllBlocks::reserveDataForInstrumentation(), CommonMethods::reserveDataForInstrumentation(), CountAllBlocks::selectInstrumentationPoints(), CacheSimulator::selectInstrumentationPoints(), BasicBlockTracer::selectInstrumentationPoints(), BasicBlockCounter::selectInstrumentationPoints(), XCoffFile::setLineInfoFinder(), XCoffFileGen::setPathToInstLib(), XCoffFile::testBitSet(), LineInfoFinder::testLineInfoFinder(), IdenticalInstrumentor::verify(), DataExtender::verify(), and BaseGen::writeInstructions().

#define SECOND_HALFWORD __n   )     (((__n) >> 16) & 0xffff)
 

Definition at line 254 of file Base.h.

Referenced by CountAllBlocks::byteCountForInst(), CacheSimulator::byteCountForInst(), BasicBlockTracer::byteCountForInst(), BasicBlockCounter::byteCountForInst(), CountAllBlocks::updateTOCRegister(), and CommonMethods::updateTOCRegister().

#define Size__32_bit_Auxilary_Header   _AOUTHSZ_EXEC
 

Definition at line 69 of file Base.h.

Referenced by AOutHeader32::AOutHeader32(), FileHeader32::read(), and AOutHeader32::read().

#define Size__32_bit_ExceptionTable_Entry   EXCEPTSZ
 

Definition at line 74 of file Base.h.

Referenced by ExceptionSection::ExceptionSection(), ExceptionSection::instrument(), and ExceptionSection::read().

#define Size__32_bit_File_Header   FILHSZ
 

Definition at line 67 of file Base.h.

Referenced by FileHeader32::FileHeader32(), and FileHeader32::read().

#define Size__32_bit_LineInfoTable_Entry   LINESZ
 

Definition at line 76 of file Base.h.

Referenced by LineInfoTable::instrument(), LineInfoTable::LineInfoTable(), and LineInfoTable::read().

#define Size__32_bit_Loader_Section_Header   LDHDRSZ
 

Definition at line 81 of file Base.h.

Referenced by LoaderSection::instrument(), LSHeader::newHeader(), and LoaderSection::read().

#define Size__32_bit_Loader_Section_Relocation   LDRELSZ
 

Definition at line 85 of file Base.h.

Referenced by LoaderSection::getInstrumentationSize(), LoaderSection::instrument(), LSRelocation::newRelocation(), and LoaderSection::read().

#define Size__32_bit_Loader_Section_Symbol   LDSYMSZ
 

Definition at line 83 of file Base.h.

Referenced by LoaderSection::getInstrumentationSize(), LoaderSection::instrument(), LSSymbol::newSymbol(), and LoaderSection::read().

#define Size__32_bit_RelocationTable_Entry   RELSZ
 

Definition at line 78 of file Base.h.

Referenced by RelocationTable::instrument(), RelocationTable::read(), and RelocationTable::RelocationTable().

#define Size__32_bit_Section_Header   SCNHSZ
 

Definition at line 71 of file Base.h.

Referenced by SectHeader32::read(), and SectHeader32::SectHeader32().

#define Size__64_bit_Auxilary_Header   _AOUTHSZ_EXEC_64
 

Definition at line 70 of file Base.h.

Referenced by AOutHeader64::AOutHeader64(), FileHeader64::read(), and AOutHeader64::read().

#define Size__64_bit_ExceptionTable_Entry   EXCEPTSZ_64
 

Definition at line 75 of file Base.h.

Referenced by ExceptionSection::ExceptionSection(), ExceptionSection::instrument(), and ExceptionSection::read().

#define Size__64_bit_File_Header   FILHSZ_64
 

Definition at line 68 of file Base.h.

Referenced by FileHeader64::FileHeader64(), and FileHeader64::read().

#define Size__64_bit_LineInfoTable_Entry   LINESZ_64
 

Definition at line 77 of file Base.h.

Referenced by LineInfoTable::instrument(), LineInfoTable::LineInfoTable(), and LineInfoTable::read().

#define Size__64_bit_Loader_Section_Header   LDHDRSZ_64
 

Definition at line 82 of file Base.h.

Referenced by LoaderSection::instrument(), LSHeader::newHeader(), and LoaderSection::read().

#define Size__64_bit_Loader_Section_Relocation   LDRELSZ_64
 

Definition at line 86 of file Base.h.

Referenced by LoaderSection::getInstrumentationSize(), LoaderSection::instrument(), LSRelocation::newRelocation(), and LoaderSection::read().

#define Size__64_bit_Loader_Section_Symbol   LDSYMSZ_64
 

Definition at line 84 of file Base.h.

Referenced by LoaderSection::getInstrumentationSize(), LoaderSection::instrument(), LSSymbol::newSymbol(), and LoaderSection::read().

#define Size__64_bit_RelocationTable_Entry   RELSZ_64
 

Definition at line 79 of file Base.h.

Referenced by RelocationTable::instrument(), RelocationTable::read(), and RelocationTable::RelocationTable().

#define Size__64_bit_Section_Header   SCNHSZ_64
 

Definition at line 72 of file Base.h.

Referenced by SectHeader64::read(), and SectHeader64::SectHeader64().

#define Size__NN_bit_SymbolTable_Entry   SYMESZ
 

Definition at line 73 of file Base.h.

Referenced by AuxilaryException::changeExptrCopy(), AuxilaryFunction64::changeExptrLnnoptrCopy(), AuxilaryFunction32::changeExptrLnnoptrCopy(), Symbol64::changeValueCopy(), Symbol32::changeValueCopy(), SymbolTable::instrument(), SymbolTable::newSymbol(), FileHeader::print(), SymbolTable::read(), and XCoffFile::readSymbolStringTable().

 
#define TIMER  )     __VA_ARGS__
 

Definition at line 61 of file Base.h.

Referenced by Function::generateCFG(), main(), and XCoffFile::parse().

#define Type__Auxilary_Symbol_Block   _AUX_SYM
 

Definition at line 92 of file Base.h.

Referenced by AuxilaryBlock32::getAuxilaryType(), and Auxilary::getTypeName().

#define Type__Auxilary_Symbol_CSect   _AUX_CSECT
 

Definition at line 94 of file Base.h.

Referenced by AuxilaryCSect32::getAuxilaryType(), SymbolTable::getStorageMapping(), SymbolTable::getSymbolLength(), Auxilary::getTypeName(), and SymbolTable::newSymbol().

#define Type__Auxilary_Symbol_Exception   _AUX_EXCEPT
 

Definition at line 90 of file Base.h.

Referenced by SymbolTable::getSymbolLength(), Auxilary::getTypeName(), SymbolTable::instrument(), and SymbolTable::newSymbol().

#define Type__Auxilary_Symbol_File   _AUX_FILE
 

Definition at line 93 of file Base.h.

Referenced by AuxilaryFile32::getAuxilaryType(), and Auxilary::getTypeName().

#define Type__Auxilary_Symbol_Function   _AUX_FCN
 

Definition at line 91 of file Base.h.

Referenced by AuxilaryFunction32::getAuxilaryType(), SymbolTable::getSymbolLength(), Auxilary::getTypeName(), and SymbolTable::instrument().

#define Type__Auxilary_Symbol_No_Type   0
 

Definition at line 88 of file Base.h.

Referenced by Auxilary::getAuxilaryType(), and Auxilary::getTypeName().

#define Type__Auxilary_Symbol_Section   1
 

Definition at line 89 of file Base.h.

Referenced by AuxilarySection::getAuxilaryType(), and Auxilary::getTypeName().


Enumeration Type Documentation

enum XCoffClassTypes
 

Enumeration values:
XCoffClassTypes_no_type 
XCoffClassTypes_file_header 
XCoffClassTypes_aout_header 
XCoffClassTypes_sect_header 
XCoffClassTypes_sect_rawdata 
XCoffClassTypes_relocation 
XCoffClassTypes_line_info 
XCoffClassTypes_symbol_table 
XCoffClassTypes_string_table 
XCoffClassTypes_Total_Types 

Definition at line 104 of file Base.h.


Function Documentation

uint64_t nextAlignAddressDouble uint64_t  addr  ) 
 

Definition at line 25 of file Base.C.

Referenced by CountAllBlocks::reserveDataForInstrumentation(), CommonMethods::reserveDataForInstrumentation(), and BasicBlockTracer::reserveDataForInstrumentation().

uint64_t nextAlignAddressHalfWord uint64_t  addr  ) 
 

Definition at line 13 of file Base.C.

Referenced by BaseGen::setFileOffset().

uint64_t nextAlignAddressWord uint64_t  addr  ) 
 

Definition at line 19 of file Base.C.

Referenced by TextSection::getInstrumentationSize(), XCoffFileGen::getNewBSSSectionVAddressForInst(), TextSection::instrument(), DataExtender::reserveDataForInstrumentation(), CountAllBlocks::reserveDataForInstrumentation(), CommonMethods::reserveDataForInstrumentation(), and BasicBlockTracer::reserveDataForInstrumentation().

double timer  ) 
 

Definition at line 301 of file Base.C.

Referenced by Function::generateCFG(), main(), and XCoffFile::parse().


Generated on Mon Jan 28 11:08:33 2008 for PMaCInstrumentor by doxygen 1.3.5