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

TextSection Class Reference

#include <RawSection.h>

Inheritance diagram for TextSection:

RawSection Base List of all members.

Public Member Functions

 TextSection (SectHeader *h, XCoffFile *xcoff)
void print ()
void findFunctions ()
void generateCFGs ()
void findMemoryFloatOps ()
char * getContentVisually (Symbol **symbols, uint32_t symbolCount, uint64_t content)
AddressIterator getAddressIterator ()
uint32_t getNumberOfFunctions ()
uint32_t getNumberOfBlocks ()
uint32_t getNumberOfMemoryOps ()
uint32_t getNumberOfFloatPOps ()
FunctiongetFunction (uint32_t idx)
uint32_t getAllBlocks (BasicBlock **arr)
const char * briefName ()
uint32_t getInstrumentationSize (XCoffFileGen *xCoffGen)
uint32_t instrument (char *buffer, XCoffFileGen *xCoffGen, BaseGen *gen)
void buildLineInfoFinder ()
LineInfoFindergetLineInfoFinder ()
void buildLoops ()

Protected Member Functions

 ~TextSection ()

Protected Attributes

Function ** functions
uint32_t numOfFunctions
LineInfoFinderlineInfoFinder

Constructor & Destructor Documentation

TextSection::~TextSection  )  [inline, protected]
 

Definition at line 206 of file RawSection.h.

TextSection::TextSection SectHeader h,
XCoffFile xcoff
[inline]
 

Definition at line 210 of file RawSection.h.

References functions, lineInfoFinder, and numOfFunctions.


Member Function Documentation

const char* TextSection::briefName  )  [inline, virtual]
 

Reimplemented from RawSection.

Definition at line 228 of file RawSection.h.

void TextSection::buildLineInfoFinder  )  [virtual]
 

Reimplemented from RawSection.

Definition at line 385 of file RawSection.C.

References LineInfoFinder::commandLineTest(), SectHeader::getIndex(), XCoffFile::getLineInfoTable(), XCoffFile::getStringTable(), XCoffFile::getSymbolTable(), lineInfoFinder, PRINT_INFOR, and LineInfoFinder::testLineInfoFinder().

void TextSection::buildLoops  )  [virtual]
 

Reimplemented from RawSection.

Definition at line 16 of file RawSection.C.

References Function::buildLoops(), getFunction(), SectHeader::getIndex(), getNumberOfFunctions(), and PRINT_INFOR.

void TextSection::findFunctions  )  [virtual]
 

Reimplemented from RawSection.

Definition at line 661 of file RawSection.C.

References ASSERT, SymbolTable::filterSortFuncSymbols(), functions, SectHeader::getIndex(), SymbolTable::getNumberOfSymbols(), SymbolTable::getStorageMapping(), numOfFunctions, PRINT_INFOR, Function::updateInstructionSize(), Function::updateSize(), XMC_DB, and XMC_RO.

void TextSection::findMemoryFloatOps  )  [virtual]
 

Reimplemented from RawSection.

Definition at line 748 of file RawSection.C.

References Function::findMemoryFloatOps(), functions, SectHeader::getIndex(), numOfFunctions, and PRINT_INFOR.

void TextSection::generateCFGs  )  [virtual]
 

Reimplemented from RawSection.

Definition at line 740 of file RawSection.C.

References functions, Function::generateCFG(), SectHeader::getIndex(), numOfFunctions, and PRINT_INFOR.

AddressIterator TextSection::getAddressIterator  )  [virtual]
 

Reimplemented from RawSection.

Definition at line 491 of file RawSection.C.

References AddressIterator::newAddressIteratorWord().

uint32_t TextSection::getAllBlocks BasicBlock **  arr  )  [virtual]
 

Reimplemented from RawSection.

Definition at line 756 of file RawSection.C.

References functions, FlowGraph::getAllBlocks(), Function::getFlowGraph(), and numOfFunctions.

char * TextSection::getContentVisually Symbol **  symbols,
uint32_t  symbolCount,
uint64_t  content
[virtual]
 

Reimplemented from RawSection.

Definition at line 453 of file RawSection.C.

Function* TextSection::getFunction uint32_t  idx  )  [inline, virtual]
 

Reimplemented from RawSection.

Definition at line 224 of file RawSection.h.

References functions, and numOfFunctions.

Referenced by buildLoops().

uint32_t TextSection::getInstrumentationSize XCoffFileGen xCoffGen  )  [virtual]
 

Reimplemented from RawSection.

Definition at line 550 of file ReWriting.C.

References XCoffFileGen::byteCountForInst(), XCoffFileGen::byteCountForSharedLibFuncWrappers(), XCoffFileGen::getNumberOfInstPoints(), RawSection::getSectHeader(), and nextAlignAddressWord().

LineInfoFinder* TextSection::getLineInfoFinder  )  [inline, virtual]
 

Reimplemented from RawSection.

Definition at line 234 of file RawSection.h.

References lineInfoFinder.

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

uint32_t TextSection::getNumberOfBlocks  )  [virtual]
 

Reimplemented from RawSection.

Definition at line 355 of file RawSection.C.

References functions, Function::getFlowGraph(), FlowGraph::getNumOfBasicBlocks(), and numOfFunctions.

uint32_t TextSection::getNumberOfFloatPOps  )  [virtual]
 

Reimplemented from RawSection.

Definition at line 375 of file RawSection.C.

References functions, Function::getFlowGraph(), FlowGraph::getNumOfFloatPOps(), and numOfFunctions.

uint32_t TextSection::getNumberOfFunctions  )  [virtual]
 

Reimplemented from RawSection.

Definition at line 351 of file RawSection.C.

References numOfFunctions.

Referenced by buildLoops().

uint32_t TextSection::getNumberOfMemoryOps  )  [virtual]
 

Reimplemented from RawSection.

Definition at line 365 of file RawSection.C.

References functions, Function::getFlowGraph(), FlowGraph::getNumOfMemoryOps(), and numOfFunctions.

uint32_t TextSection::instrument char *  buffer,
XCoffFileGen xCoffGen,
BaseGen gen
[virtual]
 

Reimplemented from RawSection.

Definition at line 570 of file ReWriting.C.

References ASSERT, XCoffFileGen::byteCountForSharedLibFuncWrappers(), DEBUG_MORE, XCoffFileGen::generateCodeForInst(), XCoffFileGen::generateStubForAllLibraryCalls(), GET, XCoffFileGen::getNumberOfInstPoints(), RawSection::getRawDataPtr(), RawSection::getSectHeader(), BaseGen::getSizeInBytes(), nextAlignAddressWord(), and PRINT_DEBUG.

void TextSection::print  )  [virtual]
 

Reimplemented from RawSection.

Definition at line 417 of file RawSection.C.

References functions, numOfFunctions, Function::print(), and RawSection::print().


Member Data Documentation

Function** TextSection::functions [protected]
 

Definition at line 202 of file RawSection.h.

Referenced by findFunctions(), findMemoryFloatOps(), generateCFGs(), getAllBlocks(), getFunction(), getNumberOfBlocks(), getNumberOfFloatPOps(), getNumberOfMemoryOps(), print(), and TextSection().

LineInfoFinder* TextSection::lineInfoFinder [protected]
 

Definition at line 204 of file RawSection.h.

Referenced by buildLineInfoFinder(), getLineInfoFinder(), and TextSection().

uint32_t TextSection::numOfFunctions [protected]
 

sorted according to the base address,index is function id*

Definition at line 203 of file RawSection.h.

Referenced by findFunctions(), findMemoryFloatOps(), generateCFGs(), getAllBlocks(), getFunction(), getNumberOfBlocks(), getNumberOfFloatPOps(), getNumberOfFunctions(), getNumberOfMemoryOps(), print(), and TextSection().


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