Closed Bug 1177293 Opened 9 years ago Closed 9 years ago

Costs still wrong with flattened recursion toggled on

Categories

(DevTools :: Performance Tools (Profiler/Timeline), defect)

defect
Not set
normal

Tracking

(firefox42 fixed)

RESOLVED FIXED
Firefox 42
Tracking Status
firefox42 --- fixed

People

(Reporter: shu, Assigned: shu)

References

Details

Attachments

(1 file)

We overcount frames when flattening recursion.
Assignee: nobody → shu
Status: NEW → ASSIGNED
To deal with recursion, this would work, but wouldn't affect the use-case of any kind of repetitive calls in the stack, like A()->B()->C()->B()->D() -- B would be counted twice. I think I have a way to fix both adjacent repeated calls, and otherwise.
Oops, I forgot to land this.

(In reply to Jordan Santell [:jsantell] [@jsantell] from comment #2)
> To deal with recursion, this would work, but wouldn't affect the use-case of
> any kind of repetitive calls in the stack, like A()->B()->C()->B()->D() -- B
> would be counted twice. I think I have a way to fix both adjacent repeated
> calls, and otherwise.

Those two B frames in your example should be counted twice. Remember that the sample count is tied to each row in the call tree, not to some function. In your example, B would have two different rows, and should be counted twice. 

The bug here was that recursion flattening flattens multiple rows into a single row, and we were overcounting for the single flattened row.
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/c8066db6f2e9
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 42
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: