#include <BasicBlockTracer.h>
Inheritance diagram for BasicBlockTracer:
Public Member Functions | |
BasicBlockTracer (XCoffFile *xcoff, char *extension, uint32_t phaseNo) | |
virtual | ~BasicBlockTracer () |
void | selectInstrumentationPoints (char *blockFile) |
uint32_t | maxByteCountPerInst () |
uint32_t | byteCountForInst (uint32_t instPointIdx, uint64_t instStubAddress, TextSection *textSect) |
uint32_t | generateCodeForInst (uint32_t instPointIdx, uint64_t instStubAddress, TextSection *textSect, BaseGen *gen, uint32_t genBufferOffset) |
bool | filterBlockForInst (BasicBlock *bb) |
uint32_t | howManyBufferEntry () |
char * | getSharedLibFuncName (uint32_t i) |
char * | getGenClassName () |
void | reserveDataForInstrumentation () |
uint32_t | generateSharedLibFuncWrapper (uint32_t libFuncIdx, uint64_t funcCallAddr, uint32_t genBufferOffset, BaseGen *gen) |
uint32_t | getBlockPointerOffset (uint32_t idx) |
void | initializeReservedData (DataSection *dataSect, BaseGen *gen) |
uint32_t | getBlockPointerOffsetSaveOffset () |
void | getSharedLibraryPathAndObj (char **path, char **name, char **obj) |
Protected Attributes | |
uint32_t * | allBlockInfo |
uint64_t | blockPointerOffset |
|
Definition at line 218 of file BasicBlockTracer.C. |
|
Definition at line 12 of file BasicBlockTracer.h. |
|
Reimplemented from XCoffFileGen. Definition at line 263 of file BasicBlockTracer.C. References ASSERT, BasicBlock::findFirstInstPoint(), FIRST_HALFWORD, BasicBlock::getHashCode(), HashCode::getValue(), RawSection::inRange(), Instruction::isInJumpInsnRange(), PRINT_DEBUG, PRINT_INFOR, and SECOND_HALFWORD. |
|
Reimplemented from CommonMethods. Definition at line 8 of file BasicBlockTracer.C. References BasicBlock::isJumpTable(), and BasicBlock::isTrace(). Referenced by selectInstrumentationPoints(). |
|
|
|
Definition at line 30 of file BasicBlockTracer.h. References allBlockInfo. Referenced by generateCodeForInst(). |
|
Definition at line 33 of file BasicBlockTracer.h. References blockPointerOffset. Referenced by generateCodeForInst(), and generateSharedLibFuncWrapper(). |
|
Reimplemented from XCoffFileGen. Definition at line 26 of file BasicBlockTracer.h. |
|
Reimplemented from XCoffFileGen. Definition at line 22 of file BasicBlockTracer.h. References ASSERT, and CommonMethods::getNumOfSharedLibFuncs(). |
|
Reimplemented from XCoffFileGen. Definition at line 397 of file BasicBlockTracer.C. References ASSERT, XCoffFileGen::getPathToInstLib(), and XCoffFile::is64Bit(). |
|
Reimplemented from CommonMethods. Definition at line 21 of file BasicBlockTracer.h. |
|
Reimplemented from XCoffFileGen. Definition at line 18 of file BasicBlockTracer.C. References allBlockInfo, BasicBlock::getBaseAddress(), LineInfoFinder::getFunctionName(), LineInfoFinder::getLineNumberInFunction(), XCoffFile::getRawSection(), RawSection::getSectHeader(), XCoffFile::getTextSectionIndex(), PRINT_DEBUG, BaseGen::writeString(), and BaseGen::writeWord(). |
|
Reimplemented from XCoffFileGen. Definition at line 16 of file BasicBlockTracer.h. Referenced by generateCodeForInst(). |
|
|
Reimplemented from XCoffFileGen. Definition at line 223 of file BasicBlockTracer.C. References ASSERT, filterBlockForInst(), CommonMethods::findTerminationBlock(), XCoffFile::getAllBlocks(), BasicBlock::getHashCode(), XCoffFile::getNumberOfBlocks(), HashCode::getValue(), PRINT_DEBUG, PRINT_ERROR, and PRINT_INFOR. |
|
Definition at line 8 of file BasicBlockTracer.h. Referenced by getBlockPointerOffset(), initializeReservedData(), and reserveDataForInstrumentation(). |
|
Definition at line 9 of file BasicBlockTracer.h. Referenced by generateCodeForInst(), getBlockPointerOffsetSaveOffset(), and reserveDataForInstrumentation(). |