De-duplicate SharedLibraries code - use BaseProfiler implementation in Gecko Profiler code
Categories
(Core :: Gecko Profiler, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox135 | --- | fixed |
People
(Reporter: mstange, Assigned: canova)
References
(Blocks 1 open bug)
Details
(Whiteboard: [fxp])
Attachments
(9 files)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
Bug 1634785 - Add missing shared libraries methods to the baseprofiler implementation r?aabh,mstange
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
We currently have two implementations of SharedLibraries: https://searchfox.org/mozilla-central/search?q=&path=shared-libraries
Once Gecko profiler code can depend on BaseProfiler code, we can unify them.
Updated•11 months ago
|
Updated•11 months ago
|
Assignee | ||
Comment 1•11 months ago
|
||
We will remove the libxul implementation soon and use the one in mozglue.
We can't keep these structs inside the mozglue, so we have to move them to
somewhere else in libxul. This file made the most sense since it's the one who
implements their methods.
Updated•11 months ago
|
Assignee | ||
Comment 2•11 months ago
|
||
These methods were already inside the shared libraries that was in
tools/profiler. Adding these methods here to make the implementations closer
and make the deduplication easier in the following commits.
Assignee | ||
Comment 3•11 months ago
|
||
Again removing some unused/unneeded things so it's going to be easier to
deduplicate the files.
Assignee | ||
Comment 4•11 months ago
|
||
While testing the de-duplication on Linux and macOS, I noticed that the
symbolication was completely broken due to having incorrect library names in
libs array. They were always like: "<obj-dir>/dist/bin/libxul.so" instead of
"libxul.so". The library names are found from their paths, and apparently we
were using an incorrect path separator for Linux and macOS, "" instead of "/".
Assignee | ||
Comment 5•11 months ago
|
||
This method was used only internally, and having this method declaration causes
issues. That's this method was already like this in tools/profiler version of
this but it wasn't implemented here.
Assignee | ||
Comment 6•11 months ago
|
||
This patch finally removes the shared libraries code that was inside
tools/profiler and uses the one in base profiler everywhere.
Assignee | ||
Comment 7•11 months ago
|
||
Now that we only have one implementation of this code, we don't have to
differentiate it with "BaseProfiler".
Assignee | ||
Comment 8•11 months ago
|
||
We already had this early return on the shared-libraries code that was on the
tools/profiler directory. Adding this check here as well to keep the both files
in sync. It will help us deduplicating the shared libraries code later.
Updated•11 months ago
|
Comment 10•11 months ago
|
||
Backed out 8 changesets (Bug 1634785) for causing bustages in EHABIStackWalk.cpp CLOSED TREE
Log: https://treeherder.mozilla.org/logviewer?job_id=474559785&repo=autoland&lineNumber=99688
xpc: https://treeherder.mozilla.org/logviewer?job_id=474563980&repo=autoland&lineNumber=3030
Backout: https://hg.mozilla.org/integration/autoland/rev/72a4810acaeff673dcd4faa17237651e1d5821b7
Assignee | ||
Comment 11•10 months ago
|
||
Currently Bug 1920956 is blocking this and can't land it until it's fixed.
Assignee | ||
Comment 12•9 months ago
|
||
Well, I said recent in the commit title but it's actually 3 years old change.
It was implemented in Bug 1741760. Looks like it was writing garbage code IDs
to the modules that aren't ELF files without this change. So I think it's good
to have it in our copy as well.
Comment 13•9 months ago
|
||
Comment 14•9 months ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/b49494dec386
https://hg.mozilla.org/mozilla-central/rev/dbbb6a6563e8
https://hg.mozilla.org/mozilla-central/rev/34ae05420bc4
https://hg.mozilla.org/mozilla-central/rev/c447ddfd70a2
https://hg.mozilla.org/mozilla-central/rev/8524486a6d36
https://hg.mozilla.org/mozilla-central/rev/4f17a5b45353
https://hg.mozilla.org/mozilla-central/rev/9a91de226e6d
https://hg.mozilla.org/mozilla-central/rev/8ad3b7e6de23
https://hg.mozilla.org/mozilla-central/rev/6b399daabb18
Description
•