Closed Bug 1772100 Opened 2 years ago Closed 2 years ago

Use plain object for lazy getter in browser/components/

Categories

(Firefox :: General, task)

task

Tracking

()

RESOLVED FIXED
103 Branch
Tracking Status
firefox103 --- fixed

People

(Reporter: arai, Assigned: arai)

References

Details

(Keywords: perf-alert)

Attachments

(22 files, 2 obsolete files)

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
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
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

+++ This bug was initially created as a clone of Bug #1772007 +++

Many JSM files define lazy getters on the per-JSM global this object.
The global this object doesn't exist in ES module, and those lazy getters need to be moved to a plain object const lazy = {};, and each consumer needs to be rewritten to refer the lazy getter with lazy.foo.

This migration is done by automated script in bug 1608279.

Keywords: leave-open
Pushed by arai_a@mac.com:
https://hg.mozilla.org/integration/autoland/rev/141d1fdc23e2
Part 1: Use plain object for lazy getter in browser/components/aboutlogins/. r=MattN
https://hg.mozilla.org/integration/autoland/rev/589039df2fde
Part 7: Use plain object for lazy getter in browser/components/enterprisepolicies/. r=mkaply
https://hg.mozilla.org/integration/autoland/rev/1cfa66fd3072
Part 8: Use plain object for lazy getter in browser/components/extensions/. r=mixedpuppy
https://hg.mozilla.org/integration/autoland/rev/64d89a5aa77e
Part 9: Use plain object for lazy getter in browser/components/migration/. r=MattN
https://hg.mozilla.org/integration/autoland/rev/a545a6bcd393
Part 10: Use plain object for lazy getter in browser/components/newtab/. r=Mardak
https://hg.mozilla.org/integration/autoland/rev/44856311c4d0
Part 11: Use plain object for lazy getter in browser/components/pagedata/. r=mossop
https://hg.mozilla.org/integration/autoland/rev/a8e1e90b200a
Part 12: Use plain object for lazy getter in browser/components/places/. r=mossop
https://hg.mozilla.org/integration/autoland/rev/a0b40177951c
Part 14: Use plain object for lazy getter in browser/components/screenshots/. r=niklas
https://hg.mozilla.org/integration/autoland/rev/a86e022cdd9a
Part 16: Use plain object for lazy getter in browser/components/sessionstore/. r=nika
https://hg.mozilla.org/integration/autoland/rev/378d82b22cfd
Part 17: Use plain object for lazy getter in browser/components/shell/. r=bytesized
https://hg.mozilla.org/integration/autoland/rev/8ad45e6a2231
Part 18: Use plain object for lazy getter in browser/components/syncedtabs/. r=markh
https://hg.mozilla.org/integration/autoland/rev/1cc5f6b081cd
Part 19: Use plain object for lazy getter in browser/components/translation/. r=florian
https://hg.mozilla.org/integration/autoland/rev/d8ea83a7f82a
Part 20: Use plain object for lazy getter in browser/components/uitour/. r=MattN
https://hg.mozilla.org/integration/autoland/rev/12823192db08
Part 23: Use plain object for lazy getter in browser/components/. r=mossop
Pushed by arai_a@mac.com:
https://hg.mozilla.org/integration/autoland/rev/05a015bd4783
Part 4: Use plain object for lazy getter in browser/components/doh/. r=necko-reviewers,dragana
https://hg.mozilla.org/integration/autoland/rev/cacf593bf250
Part 5: Use plain object for lazy getter in browser/components/downloads/. r=mak
https://hg.mozilla.org/integration/autoland/rev/7d34a43bda82
Part 6: Use plain object for lazy getter in browser/components/downloads/DownloadsViewUI.jsm. r=mak
https://hg.mozilla.org/integration/autoland/rev/672ad1a7c2f9
Part 15: Use plain object for lazy getter in browser/components/search/. r=daleharvey
https://hg.mozilla.org/integration/autoland/rev/b8a1318e4c13
Part 24: Use plain object for lazy getter in browser/components/BrowserGlue.jsm. r=mak
Attachment #9279264 - Attachment description: Bug 1772100 - Part 2: Use plain object for lazy getter in browser/components/attribution/. r?mixedpuppy → Bug 1772100 - Part 2: Use plain object for lazy getter in browser/components/attribution/. r?mixedpuppy!
Pushed by arai_a@mac.com:
https://hg.mozilla.org/integration/autoland/rev/0d8051c9372c
Part 2: Use plain object for lazy getter in browser/components/attribution/. r=Gijs
https://hg.mozilla.org/integration/autoland/rev/708f5fd81d4e
Part 13: Use plain object for lazy getter in browser/components/pocket/. r=thecount
Keywords: leave-open
Attachment #9279283 - Attachment is obsolete: true
Attachment #9279284 - Attachment is obsolete: true
Attachment #9279265 - Attachment description: Bug 1772100 - Part 3: Use plain object for lazy getter in browser/components/customizableui/. r?jaws → Bug 1772100 - Part 3: Use plain object for lazy getter in browser/components/customizableui/. r?Gijs!
Pushed by arai_a@mac.com:
https://hg.mozilla.org/integration/autoland/rev/e52a65341944
Part 3: Use plain object for lazy getter in browser/components/customizableui/. r=Gijs
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 103 Branch

(In reply to Pulsebot from comment #32)

Pushed by arai_a@mac.com:
https://hg.mozilla.org/integration/autoland/rev/e52a65341944
Part 3: Use plain object for lazy getter in
browser/components/customizableui/. r=Gijs

== Change summary for alert #34430 (as of Sat, 11 Jun 2022 18:20:57 GMT) ==

Improvements:

Ratio Test Platform Options Absolute values (old vs new)
16% microsoft loadtime linux1804-64-shippable-qr cold fission webrender 375.69 -> 316.54
15% ebay fcp linux1804-64-shippable-qr cold fission webrender 376.04 -> 317.79
15% ebay fcp macosx1015-64-shippable-qr cold fission webrender 301.31 -> 256.12
14% ebay loadtime macosx1015-64-shippable-qr cold fission webrender 463.17 -> 396.62
13% microsoft fcp linux1804-64-shippable-qr cold fission webrender 293.08 -> 254.83
... ... ... ... ...
3% ebay SpeedIndex macosx1015-64-shippable-qr cold fission webrender 1,427.54 -> 1,380.67

For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=34430

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: