Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
ProfileFuncLevelTracer Class Reference

#include <internal_funclevel.h>

Classes

struct  Function
 function entry (map address -> Function) More...
 
struct  Profile
 profile entry More...
 
class  ProfileMap
 map of profiles More...
 
class  UnsignedMap
 simple unique unsigned/unsigned map More...
 

Public Types

enum  { MAX_FRAME_RECORDS = 4 }
 

Public Member Functions

 ProfileFuncLevelTracer (void)
 
 ~ProfileFuncLevelTracer ()
 
void Enter (unsigned addr, unsigned esp, unsigned ret)
 
unsigned Leave (unsigned esp)
 
ProfileFuncLevelTracerGetNext (void)
 
FunctionFindFunction (unsigned addr)
 
FunctionEnumFunction (unsigned index)
 

Static Public Member Functions

static void Shutdown (void)
 
static int FrameStart (void)
 
static void FrameEnd (int which, int mixIndex)
 
static void ClearTotals (void)
 
static ProfileFuncLevelTracerGetFirst (void)
 

Friends

class ProfileCmdInterface
 

Detailed Description

Definition at line 35 of file internal_funclevel.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
MAX_FRAME_RECORDS 

Definition at line 44 of file internal_funclevel.h.

Constructor & Destructor Documentation

◆ ProfileFuncLevelTracer()

ProfileFuncLevelTracer::ProfileFuncLevelTracer ( void )

◆ ~ProfileFuncLevelTracer()

ProfileFuncLevelTracer::~ProfileFuncLevelTracer ( )

Member Function Documentation

◆ ClearTotals()

static void ProfileFuncLevelTracer::ClearTotals ( void )
static

Clears all total values.

◆ Enter()

void ProfileFuncLevelTracer::Enter ( unsigned addr,
unsigned esp,
unsigned ret )

Enters the function at the given address.

Parameters
addrfunction address
espcurrent ESP value
retreturn address for given function

◆ EnumFunction()

Function * ProfileFuncLevelTracer::EnumFunction ( unsigned index)
inline

Definition at line 252 of file internal_funclevel.h.

◆ FindFunction()

Function * ProfileFuncLevelTracer::FindFunction ( unsigned addr)
inline

Definition at line 247 of file internal_funclevel.h.

◆ FrameEnd()

static void ProfileFuncLevelTracer::FrameEnd ( int which,
int mixIndex )
static

Ends frame based profiling.

◆ FrameStart()

static int ProfileFuncLevelTracer::FrameStart ( void )
static

Starts frame based profiling, starts a new frame.

◆ GetFirst()

static ProfileFuncLevelTracer * ProfileFuncLevelTracer::GetFirst ( void )
inlinestatic

Retrieves the first function level tracer.

Returns
first function level tracer

Definition at line 232 of file internal_funclevel.h.

◆ GetNext()

ProfileFuncLevelTracer * ProfileFuncLevelTracer::GetNext ( void )
inline

Retrieves next function level tracer.

Returns
next function level tracer, NULL if none

Definition at line 242 of file internal_funclevel.h.

◆ Leave()

unsigned ProfileFuncLevelTracer::Leave ( unsigned esp)

Leaves the function at the ESP value. If this does not match with the last Enter call the internal stack is unwound until a match is found.

Parameters
espcurrent ESP value
Returns
return address

◆ Shutdown()

static void ProfileFuncLevelTracer::Shutdown ( void )
static

Shutdown function.

Friends And Related Symbol Documentation

◆ ProfileCmdInterface

friend class ProfileCmdInterface
friend

Definition at line 37 of file internal_funclevel.h.


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