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)
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: tierney, Assigned: tierney)
Details
Attachments
(1 file, 1 obsolete file)
107.39 KB,
patch
|
Details | Diff | Splinter Review |
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)
Assignee | ||
Comment 1•16 years ago
|
||
The patch includes better sampling, and also changes to make the sampler work in Release mode.
Comment 2•16 years ago
|
||
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?
Assignee | ||
Comment 3•16 years ago
|
||
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)
Assignee | ||
Updated•16 years ago
|
Attachment #337659 -
Flags: review?(treilly)
Assignee | ||
Comment 4•16 years ago
|
||
Change has been pushed
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Comment 5•15 years ago
|
||
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.
Description
•