0.35 - 0.37% Base Content JS (linux1804-64-shippable, linux1804-64-shippable-qr, macosx1014-64-shippable-qr, windows10-64-shippable, windows10-64-shippable-qr) regression on push f78e99829e2615067fe014bb8b9a7da75980c2ba (Wed January 6 2021)
Categories
(Core :: JavaScript Engine, defect, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr78 | --- | unaffected |
firefox84 | --- | unaffected |
firefox85 | --- | unaffected |
firefox86 | --- | fixed |
People
(Reporter: aesanu, Assigned: tcampbell)
References
(Regression)
Details
(Keywords: perf, perf-alert, regression)
Attachments
(1 file)
Perfherder has detected a awsy performance regression from push f78e99829e2615067fe014bb8b9a7da75980c2ba. As author of one of the patches included in that push, we need your help to address this regression.
Regressions:
Ratio | Suite | Test | Platform | Options | Absolute values (old vs new) |
---|---|---|---|---|---|
0.37% | Base Content JS | linux1804-64-shippable-qr | 2,515,493.33 -> 2,524,762.00 | ||
0.37% | Base Content JS | macosx1014-64-shippable-qr | 2,518,129.33 -> 2,527,402.67 | ||
0.37% | Base Content JS | windows10-64-shippable | 2,520,112.00 -> 2,529,386.67 | ||
0.37% | Base Content JS | windows10-64-shippable-qr | 2,520,032.00 -> 2,529,330.67 | ||
0.35% | Base Content JS | linux1804-64-shippable | 2,516,138.33 -> 2,524,912.00 |
Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests. Please follow our guide to handling regression bugs and let us know your plans within 3 business days, or the offending patch(es) will be backed out in accordance with our regression policy.
For more information on performance sheriffing please see our FAQ.
Comment 1•4 years ago
|
||
I honestly do not understand what might be happening here.
The problem is unlikely to be the one which modifies the python code to optimize the test suite.
And the first patch inlines the code of JS::Evaluate and isolate the branch related to SelfHosted code initialization.
The only noticeable difference might be that the Rooted<frontend::CompilationInfo> compilationInfo
is alive for longer than it used to be when it was isolated after the Source buffer init.
Ted, would you have any idea could have changed the retained amount of memory, otherwise I can make a tiny patch which moves the initForSelfHostingGlobal
back under the source buffer init, but I honestly don't think this could be related.
Also, the 2 additional field added to the JSRuntime would not explain a ~9 KB increase in memory, even with alignment issues.
Comment 2•4 years ago
|
||
Set release status flags based on info from the regressing bug 1668361
Assignee | ||
Comment 3•4 years ago
|
||
Taking a look. One issue is that we lost the run-once flag when we got rid of the Evaluate
call. Fixing that helps, but is not entire solution and I'm looking for other small issues
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 4•4 years ago
|
||
During selfhosting initialization, we perform a GC and then freeze the
global. This means we must clear any dangling references before this GC
happens. This fixes a recent regression where we started keeping the
top-level script alive unintentionally. Also ensure the options mark the
script as run-once to match that old behaviour.
Assignee | ||
Comment 5•4 years ago
|
||
Second problem is we have a live RootedScript
while we call freezeSelfHostingZone
. This keeps the top-level script+bytecode alive when it wasn't before.
Updated•4 years ago
|
Comment 7•4 years ago
|
||
bugherder |
Reporter | ||
Comment 8•4 years ago
|
||
== Change summary for alert #28483 (as of Mon, 18 Jan 2021 11:38:04 GMT) ==
Improvements:
Ratio | Suite | Test | Platform | Options | Absolute values (old vs new) |
---|---|---|---|---|---|
0.44% | Base Content JS | linux1804-64-shippable | 2,522,878.67 -> 2,511,809.33 | ||
0.44% | Base Content JS | linux1804-64-shippable-qr | 2,522,734.67 -> 2,511,748.00 | ||
0.44% | Base Content JS | macosx1014-64-shippable-qr | 2,525,476.00 -> 2,514,394.67 | ||
0.44% | Base Content JS | windows10-64-shippable | 2,527,316.00 -> 2,516,254.67 | ||
0.44% | Base Content JS | windows10-64-shippable-qr | 2,527,300.00 -> 2,516,228.00 | ||
0.37% | Base Content JS | windows10-64-shippable-qr | 2,525,574.00 -> 2,516,348.00 |
For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=28483
Updated•4 years ago
|
Description
•