Refactor the rope flattening implementation
Categories
(Core :: JavaScript Engine, task, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox90 | --- | fixed | 
People
(Reporter: jonco, Assigned: jonco)
References
Details
Attachments
(9 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 | 
The rope flattening code has become big and gnarly. I was originally looking into changing the implementation, but ended up doing a series of refactorings while coming to understand it.
| Assignee | ||
| Comment 1•4 years ago
           | ||
| Assignee | ||
| Comment 2•4 years ago
           | ||
Depends on D112386
| Assignee | ||
| Comment 3•4 years ago
           | ||
Depends on D112387
| Assignee | ||
| Comment 4•4 years ago
           | ||
I found it confusing using |this| in a method that operated on a many different
nodes. This makes it static and passes the root as a named parameter so it's
clearer what's going on.
Depends on D112388
| Assignee | ||
| Comment 5•4 years ago
           | ||
Depends on D112389
| Assignee | ||
| Comment 6•4 years ago
           | ||
Currently when resuing the leftmost leaf's buffer we have duplicate code to run
the traversal up until we reach the leftmost rope, because the left child has
been already been processed as a sepcial case. This removes this and checks a
flag in the main traversal code to handle this situation.
Depends on D112390
| Assignee | ||
| Comment 7•4 years ago
           | ||
Depends on D112391
| Assignee | ||
| Comment 8•4 years ago
           | ||
Depends on D112392
| Assignee | ||
| Comment 9•4 years ago
           | ||
This ends up doing the same thing but is easer to follow IMO.
Depends on D112393
| Comment 10•4 years ago
           | ||
| Comment 11•4 years ago
           | ||
Backed out for causing for causing multiple mochitest failures
Backout link: https://hg.mozilla.org/integration/autoland/rev/b286bfe7fc48244be405165a277c51ce4909d517
| Comment 12•4 years ago
           | ||
| Assignee | ||
| Updated•4 years ago
           | 
| Comment 13•4 years ago
           | ||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/29e0af6b9f84
https://hg.mozilla.org/mozilla-central/rev/7dc0ab701d45
https://hg.mozilla.org/mozilla-central/rev/b8507d2f588b
https://hg.mozilla.org/mozilla-central/rev/00c304e03e82
https://hg.mozilla.org/mozilla-central/rev/4aa2f490e775
https://hg.mozilla.org/mozilla-central/rev/e668182d6593
https://hg.mozilla.org/mozilla-central/rev/e3d9608fcda6
https://hg.mozilla.org/mozilla-central/rev/7a5cf9e0810a
https://hg.mozilla.org/mozilla-central/rev/51b03bdd3bb4
| Comment 14•4 years ago
           | ||
Mozregression suggests that this fix may have prevented some menus from appearing on the eBay Purchase History page. See bug 1707423.
 
Description
•