diff options
Diffstat (limited to 'indra/llcommon/lltrace.h')
-rw-r--r-- | indra/llcommon/lltrace.h | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/indra/llcommon/lltrace.h b/indra/llcommon/lltrace.h index 3b4370f947..bf1119d694 100644 --- a/indra/llcommon/lltrace.h +++ b/indra/llcommon/lltrace.h @@ -512,12 +512,17 @@ public: return value; } + size_t& memClaim(size_t& size) + { + claim_mem(sMemStat, size); + mMemFootprint += size; + return size; + } - template<typename AMOUNT_T> - AMOUNT_T& memClaimAmount(AMOUNT_T& size) + int& memClaim(int& size) { - MemStatAccumulator& accumulator = sMemStat.getCurrentAccumulator(); - mMemFootprint += (size_t)size; + claim_mem(sMemStat, size); + mMemFootprint += size; return size; } @@ -536,10 +541,17 @@ public: return value; } - template<typename AMOUNT_T> - AMOUNT_T& memDisclaimAmount(AMOUNT_T& size) + size_t& memDisclaim(size_t& size) + { + disclaim_mem(sMemStat, size); + mMemFootprint -= size; + return size; + } + + int& memDisclaim(int& size) { - disclaim_mem(size); + disclaim_mem(sMemStat, size); + mMemFootprint -= size; return size; } @@ -569,12 +581,12 @@ private: { static void claim(mem_trackable_t& tracker, TRACKED& tracked) { - claim_shadow_mem( (F64)MemFootprint<TRACKED>::measure(tracked)); + claim_shadow_mem( sMemStat, MemFootprint<TRACKED>::measure(tracked)); } static void disclaim(mem_trackable_t& tracker, TRACKED& tracked) { - disclaim_shadow_mem((F64)MemFootprint<TRACKED>::measure(tracked)); + disclaim_shadow_mem(sMemStat, MemFootprint<TRACKED>::measure(tracked)); } }; }; |