We underestimate the nursery promotion rate
Categories
(Core :: JavaScript: GC, defect, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox96 | --- | fixed |
People
(Reporter: jonco, Assigned: jonco)
References
Details
Attachments
(4 external 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.
| Assignee | ||
Comment 1•4 years ago
|
||
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.
| Assignee | ||
Comment 2•4 years ago
|
||
Previously we didn't account for the ObjectSlots header or the
NurseryCellHeader. The rest is tidyup.
Depends on D130500
| Assignee | ||
Comment 3•4 years ago
|
||
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
| Assignee | ||
Comment 4•4 years ago
|
||
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.
Comment 6•4 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/c77ddd3d6975
https://hg.mozilla.org/mozilla-central/rev/5bbd325e9709
https://hg.mozilla.org/mozilla-central/rev/726a76d16f22
https://hg.mozilla.org/mozilla-central/rev/2c26b972b383
Description
•