SysprogsInstrumentingProfiler Namespace Reference
Namespaces | |
Chronometer | |
VendorSpecificWorkarounds | |
Classes | |
struct | InstrumentedFrame |
class | InstrumentedFramePool |
struct | ProfilerThreadRecord |
struct | RunTimeReportRecord |
class | SmallNumberCoder |
class | SmallNumberDecoder |
Typedefs | |
typedef unsigned | ProfilerUIntPtr |
Functions | |
void | __attribute__ ((noinline)) RaiseError(InstrumentingProfilerErrorCode errorCode |
if (s_ThreadIDReportPending) | |
for (const InstrumentedFrame *pFrame=pTopFrame;pFrame;pFrame=pFrame->pNextFrame) | |
if ((int) unreportedFrames< 0) unreportedFrames | |
if (!coder.WritePackedUIntPair(totalFrames-unreportedFrames, unreportedFrames)) RaiseError(ipeScratchBufferOverflow) | |
while (unreportedFrames) | |
if (!coder.WriteSmallUnsignedIntWithFlag(ProfilerTimeToUInt32(runTime), pTopFrame->FoldedTime!=0)) RaiseError(ipeScratchBufferOverflow) | |
if (pTopFrame->FoldedTime) if(!coder.WriteSmallUnsignedInt(ProfilerTimeToUInt32(pTopFrame-> FoldedTime))) RaiseError(ipeScratchBufferOverflow) | |
while (!SysprogsProfiler_WriteData(pdcInstrumentationProfilerNormalStream,(char *) coder.GetBuffer(), 0, coder.GetBuffer(), coder.GetOffset())) | |
while (!SysprogsProfiler_WriteData(pdcRealTimeAnalysisStream,&rec, sizeof(rec), 0, 0)&&!g_FastSemihostingCallActive) | |
void | SysprogsInstrumentingProfilerReturnHookImpl (void **pStack) |
__attribute__ ((always_inline)) static inline bool IsProcessStackMode(void) | |
void | SysprogsInstrumentingProfilerHookImpl (void **pStack) |
void | ReportThreadCreated (void *newThread, const char *pThreadName) |
void | ReportThreadSwitch (void *newThread) |
Variables | |
void uintptr_t | pArg |
class SysprogsInstrumentingProfiler::InstrumentedFramePool | s_InstrumentedFramePool |
unsigned | FunctionFoldingThreshold |
SmallNumberCoder | coder (buffer, sizeof(buffer), 0, 0) |
unsigned | totalFrames = 0 |
unsigned | unreportedFrames = -1 |
const InstrumentedFrame * | pFrame = pTopFrame |
void ProfilerTimeType | runTime |
Typedef Documentation
typedef unsigned SysprogsInstrumentingProfiler::ProfilerUIntPtr |
Enumeration Type Documentation
Function Documentation
void SysprogsInstrumentingProfiler::__attribute__ | ( | (noinline) | ) |
SysprogsInstrumentingProfiler::__attribute__ | ( | (always_inline) | ) |
SysprogsInstrumentingProfiler::for | ( | const InstrumentedFrame * | pFrame = pTopFrame; pFrame; pFrame = pFrame->pNextFrame | ) |
SysprogsInstrumentingProfiler::if | ( | s_ThreadIDReportPending | ) |
SysprogsInstrumentingProfiler::if | ( | ) |
SysprogsInstrumentingProfiler::if | ( | !coder. | WritePackedUIntPairtotalFrames-unreportedFrames, unreportedFrames | ) |
SysprogsInstrumentingProfiler::if | ( | !coder. | WriteSmallUnsignedIntWithFlagProfilerTimeToUInt32(runTime), pTopFrame->FoldedTime!=0 | ) |
SysprogsInstrumentingProfiler::if | ( | pTopFrame-> | FoldedTime | ) | -> FoldedTime))) RaiseError(ipeScratchBufferOverflow) |
void SysprogsInstrumentingProfiler::ReportThreadCreated | ( | void * | newThread, |
const char * | pThreadName | ||
) |
void SysprogsInstrumentingProfiler::ReportThreadSwitch | ( | void * | newThread | ) |
void SysprogsInstrumentingProfiler::SysprogsInstrumentingProfilerHookImpl | ( | void ** | pStack | ) |
void SysprogsInstrumentingProfiler::SysprogsInstrumentingProfilerReturnHookImpl | ( | void ** | pStack | ) |
SysprogsInstrumentingProfiler::while | ( | unreportedFrames | ) |
SysprogsInstrumentingProfiler::while | ( | ! | SysprogsProfiler_WriteDatapdcInstrumentationProfilerNormalStream,(char *) coder.GetBuffer(),0,coder.GetBuffer(),coder.GetOffset() | ) |
SysprogsInstrumentingProfiler::while | ( | !SysprogsProfiler_WriteData(pdcRealTimeAnalysisStream,&rec, sizeof(rec), 0, 0)&&! | g_FastSemihostingCallActive | ) |
Variable Documentation
SmallNumberCoder SysprogsInstrumentingProfiler::coder(buffer, sizeof(buffer), 0, 0) |
unsigned SysprogsInstrumentingProfiler::FunctionFoldingThreshold |
void uintptr_t SysprogsInstrumentingProfiler::pArg |
Initial value:
= 0)
{
(void)errorCode;
(void)pArg;
asm("bkpt 255");
}
static ProfilerThreadRecord s_MainThreadState
const InstrumentedFrame* SysprogsInstrumentingProfiler::pFrame = pTopFrame |
void ProfilerTimeType SysprogsInstrumentingProfiler::runTime |
Initial value:
{
RunTimeReportRecord rec = {.Type = rtpFunctionRuntime, .Address = pTopFrame->FunctionAndReportFlag, .StartTimeDelta = (int)(pTopFrame->StartTime - LastReportedRealTimeWatchTime), .RunTime = ProfilerTimeToUInt32(runTime)}
Definition: InstrumentingProfiler.cpp:17
void ProfilerTimeType runTime
Definition: InstrumentingProfiler.cpp:364
class SysprogsInstrumentingProfiler::InstrumentedFramePool SysprogsInstrumentingProfiler::s_InstrumentedFramePool |
unsigned SysprogsInstrumentingProfiler::totalFrames = 0 |
unsigned SysprogsInstrumentingProfiler::unreportedFrames = -1 |