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)
 
ProfileFuncLevelTracer * GetNext (void)
 
Function * FindFunction (unsigned addr)
 
Function * EnumFunction (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 ProfileFuncLevelTracer * GetFirst (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: