Closed Bug 1772100 Opened 4 years ago Closed 4 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: 4 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: