Closed Bug 1895628 Opened 7 months ago Closed 5 months ago

Simplify string deduplication code by taking advantage of dependent string sweeping

Categories

(Core :: JavaScript: GC, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
129 Branch
Tracking Status
firefox129 --- fixed

People

(Reporter: sfink, Assigned: sfink, NeedInfo)

References

(Blocks 1 open bug)

Details

(Whiteboard: [sp3])

Attachments

(1 file)

We no longer have to give up when hitting a tenured string while walking up a dependent string's base chain. All we need is the root of the base chain tree.

Rather than laboriously walking the chain of dependent strings, unconditionally collapse everything to a single base during a minor GC, force the base to be traced (while recording information about the previous value), and then sweep the dependent string to update the chars pointer in case it moved (using the previous value and the new value). Previously too much information was being destroyed, and in an order-dependent way.

Assignee: nobody → sphink
Status: NEW → ASSIGNED
Blocks: 1803803
Whiteboard: [sp3]
Severity: -- → N/A
Priority: -- → P2

There is an r+ patch which didn't land and no activity in this bug for 2 weeks.
:sfink, could you have a look please?
If you still have some work to do, you can add an action "Plan Changes" in Phabricator.
For more information, please visit BugBot documentation.

Flags: needinfo?(sphink)
Flags: needinfo?(jcoppeard)
Flags: needinfo?(sphink)
Flags: needinfo?(jcoppeard)
Pushed by sfink@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5ca95f23f29f Simplify string deduplication to take advantage of dependent string sweeping during minor GC. r=jandem,jonco

Backed out for causing SM bustages in bug1375074.js

Flags: needinfo?(sphink)
Pushed by sfink@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/8fc85f56c3a8 Simplify string deduplication to take advantage of dependent string sweeping during minor GC. r=jandem,jonco
Status: ASSIGNED → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → 129 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: