Closed Bug 1739396 Opened 3 years ago Closed 3 years ago

We underestimate the nursery promotion rate

Categories

(Core :: JavaScript: GC, defect, P3)

defect

Tracking

()

RESOLVED FIXED
96 Branch
Tracking Status
firefox96 --- fixed

People

(Reporter: jonco, Assigned: jonco)

References

Details

Attachments

(4 files)

While looking at nursery profile information I noticed that the promotion rate reported was lower than expected for my test case. I expected 100% promotion rate but only saw ~75%. This is a problem because this information is used in various decisions about nursery size and pre-tenuring.

Since we introduced a head for the dynamic slots the JIT path has been
allocating extra unused space for this.

Also when allocating plain objects from a template, I think we should use the
dynamic slot capacity of the template rather than the number of dynamic slots
used, which will be zero.

Previously we didn't account for the ObjectSlots header or the
NurseryCellHeader. The rest is tidyup.

Depends on D130500

These methods sit better in TenuringTracer, and in fact are already defined in
Tenuring.cpp. This lets us remove the friend declaration in TenuringTracer.

Depends on D130501

With the higher nursery allocation density we need to increase the number of
objects we expect to be able to allocate in the pretenuring tests. This also
does the same for the tenured heap allocation counts.

Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c77ddd3d6975
Part 1: Don't allocate space for ObjectSlots header if there are no dynamic slots r=jandem
https://hg.mozilla.org/integration/autoland/rev/5bbd325e9709
Part 2: Fix accounting for size of nursery cells tenured r=sfink
https://hg.mozilla.org/integration/autoland/rev/726a76d16f22
Part 3: Tidy up by moving some methods from Nursery into TenuringTracer and remove friendship r=sfink
https://hg.mozilla.org/integration/autoland/rev/2c26b972b383
Part 4: Fix pretenuring tests now we can allocate more objects in the nursery r=jandem
Regressions: 1740097
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: