Closed
Bug 1355853
Opened 7 years ago
Closed 7 years ago
Add CFI unwind info to x86_64 unix implementations of NS_InvokeByIndex and SharedStub
Categories
(Core :: XPCOM, enhancement)
Core
XPCOM
Tracking
()
RESOLVED
FIXED
mozilla55
Tracking | Status | |
---|---|---|
firefox55 | --- | fixed |
People
(Reporter: jseward, Assigned: froydnj)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
5.46 KB,
patch
|
jseward
:
review+
|
Details | Diff | Splinter Review |
The Gecko Profiler on Linux fails to unwind (using LUL) through handwritten assembly for NS_InvokeByIndex and SharedStub. These are the implementations in xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_x86_64_unix.S and xpcom/reflect/xptcall/md/unix/xptcstubs_x86_64_linux.cpp respectively. This accounts for a substantial fraction of the failing stacktraces in one test. With possibly around 1000 failures, 338 were due to NS_InvokeByIndex and 121 to SharedStub. Given that many of the other failures are due to unwinding into JIT generated code, this fraction (338+121) / ~1000 is possibly more significant than it at first seems.
Reporter | ||
Updated•7 years ago
|
Flags: needinfo?(nfroyd)
Assignee | ||
Comment 1•7 years ago
|
||
Adding these directives means unwinding the stack with the profiler will no longer get confused when we need to unwind through these functions. I mostly cribbed from GCC-generated CFI directives to churn these out.
Attachment #8857538 -
Flags: review?(jseward)
Assignee | ||
Updated•7 years ago
|
Reporter | ||
Comment 2•7 years ago
|
||
Comment on attachment 8857538 [details] [diff] [review] add CFI directives for x86-64 Linux xptcall assembly routines Review of attachment 8857538 [details] [diff] [review]: ----------------------------------------------------------------- Thanks for the quick patch. This looks plausible. It appears to reduce the number of LUL unwind failures in AOT compiled code that are caused by missing CFI info by about a factor of 40, although it is difficult to say exactly.
Attachment #8857538 -
Flags: review?(jseward) → review+
Pushed by nfroyd@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/3c6b4dadccaf add CFI directives for x86-64 Linux xptcall assembly routines; r=jseward
Comment 4•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/3c6b4dadccaf
Status: NEW → RESOLVED
Closed: 7 years ago
status-firefox55:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
You need to log in
before you can comment on or make changes to this bug.
Description
•