summaryrefslogtreecommitdiff
path: root/indra/llcommon/lltrace.h
diff options
context:
space:
mode:
authorRichard Linden <none@none>2012-11-29 00:43:25 -0800
committerRichard Linden <none@none>2012-11-29 00:43:25 -0800
commit02d503bf8f8890c6d4b57dd09a1fde2973715b75 (patch)
tree046bbdcf3ff2d3d5ea36b616a00aa442ca5bdc5d /indra/llcommon/lltrace.h
parent0e1283cf6d17514a9a32595fc29df38a4b4b2d3a (diff)
SH-3406 WIP convert fast timers to lltrace system
moved runtime timer tree topology information to separate array instead of recording stack
Diffstat (limited to 'indra/llcommon/lltrace.h')
-rw-r--r--indra/llcommon/lltrace.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/indra/llcommon/lltrace.h b/indra/llcommon/lltrace.h
index 11651ef953..ad9f170aae 100644
--- a/indra/llcommon/lltrace.h
+++ b/indra/llcommon/lltrace.h
@@ -189,6 +189,11 @@ namespace LLTrace
delete[] old_storage;
}
+ size_t size()
+ {
+ return mNextStorageSlot;
+ }
+
static AccumulatorBuffer<ACCUMULATOR>& getDefaultBuffer()
{
static AccumulatorBuffer sBuffer(STATIC_ALLOC);
@@ -216,7 +221,7 @@ namespace LLTrace
mAccumulatorIndex = AccumulatorBuffer<ACCUMULATOR>::getDefaultBuffer().reserveSlot();
}
- LL_FORCE_INLINE ACCUMULATOR& getPrimaryAccumulator()
+ LL_FORCE_INLINE ACCUMULATOR& getPrimaryAccumulator() const
{
return AccumulatorBuffer<ACCUMULATOR>::getPrimaryStorage()[mAccumulatorIndex];
}
@@ -399,6 +404,12 @@ namespace LLTrace
U64 mSelfTimeCounter,
mTotalTimeCounter;
U32 mCalls;
+ };
+
+ class TimerTreeNode
+ {
+ public:
+ TimerTreeNode();
class BlockTimer* mLastCaller; // used to bootstrap tree construction
U16 mActiveCount; // number of timers with this ID active on stack
bool mMoveUpTree; // needs to be moved up the tree of timers at the end of frame