Page MenuHomePhabricator

Bug 1844900 - Improve memory usage with nesting. r=#style,#layout
ClosedPublic

Authored by emilio on Jul 22 2023, 4:23 AM.
Referenced Files
Unknown Object (File)
Oct 13 2025, 3:13 PM
Unknown Object (File)
Oct 11 2025, 4:22 AM
Unknown Object (File)
May 18 2025, 9:29 PM
Unknown Object (File)
Apr 2 2025, 6:50 PM
Unknown Object (File)
Feb 14 2025, 4:41 AM
Unknown Object (File)
Jan 20 2025, 2:31 AM
Unknown Object (File)
Jan 18 2025, 7:08 PM
Unknown Object (File)
Aug 3 2024, 10:36 AM
Subscribers

Details

Summary

The idea is to share more memory when expanding nested rules (so being
able to share the whole :is() / :where() allocation), and same for the
Dependency computation (basically, share it across all descendant
selectors).

This prevents exponential explosion in cases like the one in bug 1844446
if you replace tag selectors by class selectors (so that we build
invalidation maps for them).

Event Timeline

phab-bot changed the visibility from "Custom Policy" to "Public (No Login Required)".
phab-bot changed the edit policy from "Custom Policy" to "Restricted Project (Project)".
phab-bot removed a project: secure-revision.
dshin added a subscriber: dshin.

Makes sense - commit message probably could be elaborated to describe the potential issue it's addressing.

This revision is now accepted and ready to land.Jul 27 2023, 5:40 PM

This revision requires a Testing Policy Project Tag to be set before landing. Please apply one of testing-approved, testing-exception-unchanged, testing-exception-ui, testing-exception-elsewhere, testing-exception-other. Tip: this Firefox add-on makes it easy!

emilio edited the summary of this revision. (Show Details)

rebase

This revision is now accepted and ready to land.Jul 27 2023, 9:11 PM