Closed Bug 1691361 Opened 2 months ago Closed 2 months ago

Tenured strings are put into the fixup list even if they have no children

Categories

(Core :: JavaScript: GC, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
87 Branch
Tracking Status
firefox87 --- fixed

People

(Reporter: jonco, Assigned: sfink)

Details

Attachments

(2 files)

When evicting things from the nursery we put them into a fixup list so we can go back and evict their children later. This is unnecessary for things with no children, such as many strings.

(There may be some interaction with string deduplication that means this has to happen, but it didn't look like it at first glance.)

This could speed up the case when we tenure a lot of strings because it means we won't have to build and traverse this linked list.

Oh, and it looks like we do this for big ints, which never have children.

Assignee: nobody → sphink
Status: NEW → ASSIGNED
Pushed by sfink@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/db8812c0aed8
Do not add BigInts to the tenuring fixup list, since they do not have children r=jonco
https://hg.mozilla.org/integration/autoland/rev/f9dbe7d566bb
Only add strings with outgoing pointers to the tenuring string fixup list r=jonco
Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → 87 Branch
You need to log in before you can comment on or make changes to this bug.