48527c5dd40c3383da5afe74c1e8896878cfde36: Bug 1711063 - Part 9: Recover when allocation patterns change r=jandem,sfink
Jon Coppeard <jcoppeard@mozilla.com> - Tue, 01 Jun 2021 09:57:02 +0000 - rev 654067
Push 2623 by ffxbld-merge at Mon, 02 Aug 2021 14:47:51 +0000
Bug 1711063 - Part 9: Recover when allocation patterns change r=jandem,sfink This is a bunch of heuristics to detect when sites that were short-lived become long-lived and vice versa. For the former we check the promotion rate for the whole nursery and the tenure count for the optimized site in each zone. For the latter we look at tenured objects that die in their first GC. When then happens we discard JIT code and reset the allocation sites using the list in the JitScript. This happens in one of two ways: if we are already discarding JIT code then we reset the allocation sites for any remaining JIT scripts, or if not we check all scripts in the zone and discard scripts individually. This is so we don't add another script iteration if we're already doing this for discarding JIT code. Differential Revision: https://phabricator.services.mozilla.com/D115496
13737f4e5ff90ab27afcdaa892de26ab2beaa9ff: Bug 1711063 - Part 8: Add isNewlyCreated flag to Arenas that is set on creation and cleared on sweep r=sfink
Jon Coppeard <jcoppeard@mozilla.com> - Tue, 01 Jun 2021 09:57:02 +0000 - rev 654066
Push 2623 by ffxbld-merge at Mon, 02 Aug 2021 14:47:51 +0000
Bug 1711063 - Part 8: Add isNewlyCreated flag to Arenas that is set on creation and cleared on sweep r=sfink This allows us to detect arenas that have been created since the last major GC. Differential Revision: https://phabricator.services.mozilla.com/D115495
9a01131eb9666bedd30058ea2e6a2b26638d5724: Bug 1711063 - Part 7: Refactor the interface to Zone::discardJitCode to use an options struct in preparation for adding more options r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Tue, 01 Jun 2021 09:57:01 +0000 - rev 654065
Push 2623 by ffxbld-merge at Mon, 02 Aug 2021 14:47:51 +0000
Bug 1711063 - Part 7: Refactor the interface to Zone::discardJitCode to use an options struct in preparation for adding more options r=jandem Differential Revision: https://phabricator.services.mozilla.com/D115494
d5f2380c3962d5537bbf2de610ac821f8c7a4f56: Bug 1711063 - Part 6: Invalidate any JIT code that has already been compiled when an allocation site is determined to be long-lived r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Tue, 01 Jun 2021 09:57:01 +0000 - rev 654064
Push 2623 by ffxbld-merge at Mon, 02 Aug 2021 14:47:51 +0000
Bug 1711063 - Part 6: Invalidate any JIT code that has already been compiled when an allocation site is determined to be long-lived r=jandem Unfortunately we often end up optimizing code before a minor GC happens and we realize that we should be pretenuring a site. This invalidates JIT code when we decide to pretenure a site. Differential Revision: https://phabricator.services.mozilla.com/D115493
1eb11eaf408932283ba9cd54be2eefb7b3050d13: Bug 1711063 - Part 5: Track allocation sites for new plain object and new array optimized stubs r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Tue, 01 Jun 2021 09:57:01 +0000 - rev 654063
Push 2623 by ffxbld-merge at Mon, 02 Aug 2021 14:47:51 +0000
Bug 1711063 - Part 5: Track allocation sites for new plain object and new array optimized stubs r=jandem This allocates AllocSite instances when stubs are created. There's a limit on the number created per minor GC to prevent runaway growth of the site list that must be traversed at the next minor GC. The fallback by which JIT code calls into the VM has to be different for baseline/optimzed code because we still track allocations in baseline code. (It might be possible to use the same one and have the baseline fallback just use the unknow site. I think this would violate some assertions but they could perhaps be relaxed) Differential Revision: https://phabricator.services.mozilla.com/D115242
e03161d4969667607aa141682853f412f19221ca: Bug 1711063 - Part 4: Add the ability to pass an allocation site when assembling inline allocations r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Tue, 01 Jun 2021 09:57:00 +0000 - rev 654062
Push 2623 by ffxbld-merge at Mon, 02 Aug 2021 14:47:51 +0000
Bug 1711063 - Part 4: Add the ability to pass an allocation site when assembling inline allocations r=jandem For baseline allocations we still want to track the allocations made and update the AllocSite whereas for optimized code we want to ignore this entirely and use the catch-all optimzed site for tracked allocation sites. To allow this, the patch adds AllocSiteInput which can either be a register holding an AllocSite pointer or an immediate indicating which catch-all allocation site to use. Differential Revision: https://phabricator.services.mozilla.com/D115241
4c02be7ed57c3f1b77156efb822a75e03311e501: Bug 1711063 - Part 3: Process allocation sites on minor GC r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Tue, 01 Jun 2021 09:57:00 +0000 - rev 654061
Push 2623 by ffxbld-merge at Mon, 02 Aug 2021 14:47:51 +0000
Bug 1711063 - Part 3: Process allocation sites on minor GC r=jandem This adds logic to process allocation sites used since the last nursery collection and update their state based on number of allocations made and now many of those that were tenured. This also dumps information about allocation sites to stderr if JS_GC_REPORT_PRETENURING is set. Differential Revision: https://phabricator.services.mozilla.com/D115240
c6b66ee2c5f1dbb2cd006d0172d16be31f48b077: Bug 1711063 - Part 2: Add AllocSite parameter to various APIs that will be used to create new objects and arrays r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Tue, 01 Jun 2021 09:56:59 +0000 - rev 654060
Push 2623 by ffxbld-merge at Mon, 02 Aug 2021 14:47:51 +0000
Bug 1711063 - Part 2: Add AllocSite parameter to various APIs that will be used to create new objects and arrays r=jandem This adds an optional AllocSite parameter to the APIs that we will use to create objects/arrays when JIT code falls back to calling into the VM. Differential Revision: https://phabricator.services.mozilla.com/D115238
375dea224b27b370819ed1675535e6e6819cf906: Bug 1711063 - Part 1: Add gc::AllocSite class and store a pointer to an instance in the nursery cell header r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Tue, 01 Jun 2021 09:56:59 +0000 - rev 654059
Push 2623 by ffxbld-merge at Mon, 02 Aug 2021 14:47:51 +0000
Bug 1711063 - Part 1: Add gc::AllocSite class and store a pointer to an instance in the nursery cell header r=jandem This stores a pointer to a new AllocSite sturcture before every nursery cell. Previously this was used to store a pointer to the zone, and we now have to get the zone pointer from the AllocSite when necessary. Since every cell must have such a pointer and we don't want to track all allocation sites, there is a catch-call site per zone for unknown sites. There's a second catch-all site which is used for optimized code generated for known allocation sites by later patches. Differential Revision: https://phabricator.services.mozilla.com/D115236
68a5da06734a7140b3d8f57e1c887919095b5b11: Bug 1695527, listen to the wheel event instead of DOMMouseScroll to close tooltips when scrolling, r=masayuki
Neil Deakin <neil@mozilla.com> - Tue, 01 Jun 2021 09:45:53 +0000 - rev 654058
Push 2623 by ffxbld-merge at Mon, 02 Aug 2021 14:47:51 +0000
Bug 1695527, listen to the wheel event instead of DOMMouseScroll to close tooltips when scrolling, r=masayuki Differential Revision: https://phabricator.services.mozilla.com/D116137
d7b5bf6648198be71725cf3eaa284565e8528a98: Bug 1711675 - IDB: Fix linking in non-unified builds; r=dom-storage-reviewers,jstutte
Jan Varga <jvarga@mozilla.com> - Tue, 01 Jun 2021 09:42:01 +0000 - rev 654057
Push 2623 by ffxbld-merge at Mon, 02 Aug 2021 14:47:51 +0000
Bug 1711675 - IDB: Fix linking in non-unified builds; r=dom-storage-reviewers,jstutte Differential Revision: https://phabricator.services.mozilla.com/D115362
a438fd03bdb8c9204d0579539919b2deb9112750: Bug 1540037 - part 36: Make `EditorBase` handle `Delete`, `Backspace` and `Tab` of plaintext editor mode r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 01 Jun 2021 08:51:25 +0000 - rev 654056
Push 2623 by ffxbld-merge at Mon, 02 Aug 2021 14:47:51 +0000
Bug 1540037 - part 36: Make `EditorBase` handle `Delete`, `Backspace` and `Tab` of plaintext editor mode r=m_kato `Delete` and `Backspace` keys are handled by same code. So, the code should be in `EditorBase` instead of `TextEditor`. If `HTMLEditor` is in the plaintext editing mode of mail composer, `Tab` key is also handled by the same code as `TextEditor`. So, the code in `TextEditor` should be moved to `EditorBase` too and `HTMLEditor` should call `EditorBase`'s method only when it's in the plaintext mode. Depends on D116352 Differential Revision: https://phabricator.services.mozilla.com/D116353
ab53d4ba1edf14fec2892a90413768e1d025424a: Bug 1711663 - Extract non-template stuff into base classes; r=dom-storage-reviewers,asuth
Jan Varga <jvarga@mozilla.com> - Tue, 01 Jun 2021 08:50:32 +0000 - rev 654055
Push 2623 by ffxbld-merge at Mon, 02 Aug 2021 14:47:51 +0000
Bug 1711663 - Extract non-template stuff into base classes; r=dom-storage-reviewers,asuth Differential Revision: https://phabricator.services.mozilla.com/D115361
42aca39d8ed6d69c588664c3838915e4d3382202: Bug 1711663 - Clean up includes related to FileInfo/FileInfoManager/DatabaseFileInfo/DatabaseFileManager; r=dom-storage-reviewers,jstutte
Jan Varga <jvarga@mozilla.com> - Tue, 01 Jun 2021 08:50:32 +0000 - rev 654054
Push 2623 by ffxbld-merge at Mon, 02 Aug 2021 14:47:51 +0000
Bug 1711663 - Clean up includes related to FileInfo/FileInfoManager/DatabaseFileInfo/DatabaseFileManager; r=dom-storage-reviewers,jstutte Differential Revision: https://phabricator.services.mozilla.com/D115360
030c75a42520e7033a67a7d257c2074b48556a69: Bug 1711663 - Rename FileManagerBase to FileInfoManager; r=dom-storage-reviewers,jstutte
Jan Varga <jvarga@mozilla.com> - Tue, 01 Jun 2021 08:50:31 +0000 - rev 654053
Push 2623 by ffxbld-merge at Mon, 02 Aug 2021 14:47:51 +0000
Bug 1711663 - Rename FileManagerBase to FileInfoManager; r=dom-storage-reviewers,jstutte Differential Revision: https://phabricator.services.mozilla.com/D115359
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -15 +15 +100 +300 +1000 +3000 +10000 +30000 tip