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 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 | |
Bug 1739396 - Part 4: Fix pretenuring tests now we can allocate more objects in the nursery r?jandem
48 bytes,
text/x-phabricator-request
|
Details | Review |
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•3 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•3 years ago
|
||
Previously we didn't account for the ObjectSlots header or the
NurseryCellHeader. The rest is tidyup.
Depends on D130500
Assignee | ||
Comment 3•3 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•3 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.
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
Comment 6•3 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
•