Closed
Bug 1494671
Opened 6 years ago
Closed 6 years ago
2.48 - 80.89% compiler_metrics num_static_constructors (linux64) regression on push 712cd59c243762c23248cc07c6fcf300fa2bf65a (Wed Sep 26 2018)
Categories
(Core :: Graphics: Layers, defect)
Tracking
()
VERIFIED
FIXED
mozilla64
Tracking | Status | |
---|---|---|
firefox-esr60 | --- | unaffected |
firefox62 | --- | unaffected |
firefox63 | --- | unaffected |
firefox64 | --- | fixed |
People
(Reporter: igoldan, Assigned: botond)
References
Details
(Keywords: regression)
Attachments
(2 files)
We have detected a build metrics regression from push:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=126409bdf326645e735ee147bd70bd7d09759165&tochange=712cd59c243762c23248cc07c6fcf300fa2bf65a
As author of one of the patches included in that push, we need your help to address this regression.
Regressions:
81% compiler_metrics num_static_constructors linux64 debug base-toolchains 246.00 -> 445.00
80% compiler_metrics num_static_constructors linux64 debug fuzzing 248.00 -> 447.00
2% compiler_metrics num_static_constructors linux64 opt base-toolchains 121.00 -> 124.00
You can find links to graphs and comparison views for each of the above tests at: https://treeherder.mozilla.org/perf.html#/alerts?id=16187
On the page above you can see an alert for each affected platform as well as a link to a graph showing the history of scores for this test. There is also a link to a treeherder page showing the jobs in a pushlog format.
To learn more about the regressing test(s), please see: https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Automated_Performance_Testing_and_Sheriffing/Build_Metrics
Reporter | ||
Updated•6 years ago
|
Component: General → Graphics: Layers
Product: Testing → Core
Target Milestone: --- → mozilla64
Reporter | ||
Updated•6 years ago
|
Flags: needinfo?(botond)
Comment 1•6 years ago
|
||
Presumably that's from:
https://hg.mozilla.org/integration/mozilla-inbound/rev/712cd59c2437#l8.78
injecting a bunch of static constructors from these defined-in-the-header EnumSets.
We can either move the actual definitions to a C++ file (which still keeps a static constructor, but at least avoids them spreading) or make a lot of things `constexpr`.
Assignee | ||
Comment 2•6 years ago
|
||
Making relatively few things `constexpr` seems to work for me locally:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=f228ae3302334a569ea2b08ff192a42dd3d5fbfb
Assignee: nobody → botond
Flags: needinfo?(botond)
Assignee | ||
Comment 3•6 years ago
|
||
(In reply to Botond Ballo [:botond] from comment #2)
> Making relatively few things `constexpr` seems to work for me locally:
>
> https://treeherder.mozilla.org/#/
> jobs?repo=try&revision=f228ae3302334a569ea2b08ff192a42dd3d5fbfb
Hmm, clang-6 in automation seems significantly less happy than my local clang-5.
Assignee | ||
Comment 4•6 years ago
|
||
Hmm, my local build succeeds with clang-6 as well. I wonder what the difference is between my local setup and automation that gives rise to the constexpr-related errors seen in that Try push.
Assignee | ||
Comment 5•6 years ago
|
||
(In reply to Botond Ballo [:botond] from comment #4)
> Hmm, my local build succeeds with clang-6 as well. I wonder what the
> difference is between my local setup and automation that gives rise to the
> constexpr-related errors seen in that Try push.
Looks like the difference is related to the clang static analysis plugin (which I wasn't running locally).
Assignee | ||
Comment 6•6 years ago
|
||
Assignee | ||
Comment 7•6 years ago
|
||
Depends on D7323
Assignee | ||
Comment 8•6 years ago
|
||
Comment 9•6 years ago
|
||
Comment on attachment 9013396 [details]
Bug 1494671 - Make MOZ_AssertAssignmentTest() constexpr. r?froydnj
Nathan Froyd [:froydnj] has approved the revision.
Attachment #9013396 -
Flags: review+
Comment 10•6 years ago
|
||
Comment on attachment 9013397 [details]
Bug 1494671 - Make the CompositorHitTestInfo globals constexpr. r?froydnj
Nathan Froyd [:froydnj] has approved the revision.
Attachment #9013397 -
Flags: review+
Comment 11•6 years ago
|
||
Pushed by bballo@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/dd9071744c9f
Make MOZ_AssertAssignmentTest() constexpr. r=froydnj
https://hg.mozilla.org/integration/autoland/rev/8fb46c61e091
Make the CompositorHitTestInfo globals constexpr. r=froydnj
Comment 12•6 years ago
|
||
bugherder |
Updated•6 years ago
|
status-firefox62:
--- → unaffected
status-firefox63:
--- → unaffected
status-firefox-esr60:
--- → unaffected
Reporter | ||
Comment 13•6 years ago
|
||
I confirm this got entirely fixed! \0/
== Change summary for alert #19330 (as of Wed, 13 Feb 2019 08:12:34 GMT) ==
Improvements:
45% compiler_metrics num_static_constructors linux64 debug base-toolchains 446.00 -> 247.00
44% compiler_metrics num_static_constructors linux64 debug fuzzing 448.00 -> 249.00
2% compiler_metrics num_static_constructors linux64 opt base-toolchains 125.00 -> 122.00
For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=19330
Reporter | ||
Updated•6 years ago
|
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•