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
•