diff --git a/indra/llcommon/lltrace.h b/indra/llcommon/lltrace.h index 3cc0d16b93966ca6f98a688e9b57230da3c8ae76..3b4370f9476f62b06a69ff318df9069fadb3b747 100644 --- a/indra/llcommon/lltrace.h +++ b/indra/llcommon/lltrace.h @@ -474,7 +474,7 @@ class MemTrackable void operator delete[](void* ptr, size_t size) { - MemStatAccumulator& accumulator = sMemStat.getPrimaryAccumulator(); + MemStatAccumulator& accumulator = sMemStat.getCurrentAccumulator(); accumulator.mSize.sample(accumulator.mSize.hasValue() ? accumulator.mSize.getLastValue() - (F64)size : -(F64)size); accumulator.mAllocatedCount--; accumulator.mDeallocatedCount++; @@ -516,7 +516,7 @@ class MemTrackable template<typename AMOUNT_T> AMOUNT_T& memClaimAmount(AMOUNT_T& size) { - MemStatAccumulator& accumulator = sMemStat.getPrimaryAccumulator(); + MemStatAccumulator& accumulator = sMemStat.getCurrentAccumulator(); mMemFootprint += (size_t)size; return size; } @@ -569,12 +569,12 @@ class MemTrackable { static void claim(mem_trackable_t& tracker, TRACKED& tracked) { - accumulator.mChildSize.sample(accumulator.mChildSize.hasValue() ? accumulator.mChildSize.getLastValue() + (F64)MemFootprint<TRACKED>::measure(tracked) : (F64)MemFootprint<TRACKED>::measure(tracked)); + claim_shadow_mem( (F64)MemFootprint<TRACKED>::measure(tracked)); } static void disclaim(mem_trackable_t& tracker, TRACKED& tracked) { - accumulator.mChildSize.sample(accumulator.mChildSize.hasValue() ? accumulator.mChildSize.getLastValue() - (F64)MemFootprint<TRACKED>::measure(tracked) : -(F64)MemFootprint<TRACKED>::measure(tracked)); + disclaim_shadow_mem((F64)MemFootprint<TRACKED>::measure(tracked)); } }; };