JSScript isRelazifiable check should be consistent with when we keep LazyScript
Categories
(Core :: JavaScript Engine, task, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox73 | --- | fixed |
People
(Reporter: tcampbell, Assigned: tcampbell)
References
Details
Attachments
(1 file)
The check in [1] where we decide if we entrain the LazyScript after delazification is not the same as the check in [2] we use to allow relazification. The result is we keep LazyScripts alive when we'll never be able to use them again.
Another minor nit here is that we check hasDoNotRelazify() in [2] which is a runtime flag (used for pinning functions on stack for testing). This should be excluded from this check like jitcode is. We can have another helper function that checks the dynamic condition.
[1] https://searchfox.org/mozilla-central/rev/07f7390618692fa4f2a674a96b9b677df3a13450/js/src/vm/JSFunction.cpp#1563
[2] https://searchfox.org/mozilla-central/source/js/src/vm/JSScript.h#2683
Assignee | ||
Comment 1•5 years ago
|
||
Move the relazification decisions to JSScript since the check is made after
delazification happens. The JSScript::isRelazifiable check inspects
characteristics of the script itself, while JSScript::canRelazify includes
additional checks for runtime conditions outside the script.
Comment 3•5 years ago
|
||
bugherder |
Comment 4•5 years ago
|
||
Backed out 7 changesets (bug 1600439, bug 1566466, bug 1591598) for raptor crashes
Backout: https://hg.mozilla.org/integration/autoland/rev/4cb3934b76b14f04d8f8cd781f14a56693312f40
Failure push: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=14f33b78f0eb5e32fd3e9c116f21a23ab7221f26
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=279099999&repo=autoland&lineNumber=829
Comment 6•5 years ago
|
||
Backed out changeset 1bd1069fa2b2 (bug 1566466) on request by tcampbell for causing ccov Jit6 permafails
Backout: https://hg.mozilla.org/integration/autoland/rev/fde74a46394f181a273198dacaf3081223c4ea20
Assignee | ||
Comment 7•5 years ago
|
||
This patch changed the semantics of a test-only shell function. It failed on ccov builds because they still disable lazy parsing. The isRelazifiableFunction
testing function should have old functionality restored, or the tests should be adjusted. The testing function should be better documented about what expectations are, especially transient blockers to relazification.
Comment 10•5 years ago
|
||
bugherder |
Comment 11•5 years ago
|
||
== Change summary for alert #24206 (as of Tue, 03 Dec 2019 00:08:40 GMT) ==
Improvements:
13% raptor-tp6-imgur-firefox-cold loadtime macosx1014-64-shippable opt 3,505.17 -> 3,042.50
For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=24206
Description
•