Closed Bug 452235 Opened 16 years ago Closed 16 years ago

Need better tracking of memory through Sampling API

Categories

(Tamarin Graveyard :: Virtual Machine, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: tierney, Assigned: tierney)

Details

Attachments

(1 file, 1 obsolete file)

The sampling API only provides tracking of allocs/deallocs of AvmPlusScriptableObjects.  This misses a lot of allocs that the VM makes internally, so the numbers you get from the Sampling API don't account for a lot of the memory TC is using.
Attachment #335528 - Flags: review?(treilly)
The patch includes better sampling, and also changes to make the sampler work in Release mode.
Comment on attachment 335528 [details] [diff] [review]
Implements sampling of all allocs/deallocs

We should have an inlined check for whether sampling is enabled in GC::Alloc and in GCAlloc::Finalize. Don't want to pay the cost of a call if sampling is disable.

We should also benchmark and profile a pure allocation test (call new Object() from a loop) to make sure haven't introduced any additional release build overhead.

I see FEATURE_SAMPLER and MEMORY_SAMPLER CPP symbols, can we reduce to one?
Added mmgc flag to quickly check if we are sampling - if we are, then go through slow function calls/thread local access, etc.  Should be no penalty when not sampling.
Changed MEMORY_SAMPLER to FEATURE_SAMPLER, now is only defined in MMgc.h.
Assignee: nobody → tierney
Attachment #335528 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #337659 - Flags: review?(treilly)
Attachment #335528 - Flags: review?(treilly)
Attachment #337659 - Flags: review?(treilly)
Change has been pushed
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Resolved fixed engineering / work item that has been pushed.  Setting status to verified.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: