Closed
Bug 978262
Opened 10 years ago
Closed 10 years ago
Ignore duplicate frames when getting stack for background hang
Categories
(Core :: XPCOM, defect)
Core
XPCOM
Tracking
()
RESOLVED
FIXED
mozilla30
People
(Reporter: jchen, Assigned: jchen)
Details
Attachments
(1 file)
1.35 KB,
patch
|
froydnj
:
review+
|
Details | Diff | Splinter Review |
For re-entrant pseudo-stack frames like "nsAppShell::ProcessNextNativeEvent" and "js::RunScript", it's not very helpful to have many of the same frames in a row. We should avoid that to save some memory, storage, and bandwidth.
Assignee | ||
Comment 1•10 years ago
|
||
This patch deduplicates identical, consecutive frames to save memory, storage, and bandwidth. It also allows us to better match other similar stacks.
Attachment #8383949 -
Flags: review?(nfroyd)
Comment 2•10 years ago
|
||
Comment on attachment 8383949 [details] [diff] [review] Ignore duplicate frames when getting BHR stack (v1) Review of attachment 8383949 [details] [diff] [review]: ----------------------------------------------------------------- This change affects not only the hang monitor, but it affects the profiler, too, right? ::: xpcom/threads/ThreadStackHelper.cpp @@ +193,3 @@ > } > + const char* const label = entry->label(); > + if (label == prevLabel) { This comparison can be pointer comparison rather than string comparison because this is only ever comparing pseudo-stack labels, which are essentially interned, correct?
Assignee | ||
Comment 3•10 years ago
|
||
(In reply to Nathan Froyd (:froydnj) from comment #2) > Comment on attachment 8383949 [details] [diff] [review] > Ignore duplicate frames when getting BHR stack (v1) > > Review of attachment 8383949 [details] [diff] [review]: > ----------------------------------------------------------------- > > This change affects not only the hang monitor, but it affects the profiler, > too, right? It only affects the hang monitor because the profiler handles the pseudo-stack internally and doesn't use ThreadStackHelper. > ::: xpcom/threads/ThreadStackHelper.cpp > @@ +193,3 @@ > > } > > + const char* const label = entry->label(); > > + if (label == prevLabel) { > > This comparison can be pointer comparison rather than string comparison > because this is only ever comparing pseudo-stack labels, which are > essentially interned, correct? Yup!
Comment 4•10 years ago
|
||
Comment on attachment 8383949 [details] [diff] [review] Ignore duplicate frames when getting BHR stack (v1) Review of attachment 8383949 [details] [diff] [review]: ----------------------------------------------------------------- Thanks for the clarifications!
Attachment #8383949 -
Flags: review?(nfroyd) → review+
Assignee | ||
Updated•10 years ago
|
Keywords: checkin-needed
Comment 5•10 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/c9a37d31251e
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/c9a37d31251e
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla30
You need to log in
before you can comment on or make changes to this bug.
Description
•