Simplify GC zeal implementation and add tests
Categories
(Core :: JavaScript: GC, task)
Tracking
()
Tracking | Status | |
---|---|---|
firefox128 | --- | fixed |
People
(Reporter: jonco, Assigned: jonco)
References
Details
Attachments
(7 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 | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
While looking at bug 1897013 I wrote some tests that GC zeal was doing what I expected and found some cases where it wasn't so I wrote some patches to simplify the implementation and generally tidy up.
Assignee | ||
Updated•4 months ago
|
Assignee | ||
Comment 1•4 months ago
|
||
There's no need for these to be defined inline. They're mostly called from
GC.cpp where they are defined and the compiler will inline these automatically.
I also made methods const where possible.
Assignee | ||
Comment 2•4 months ago
|
||
This replaces use of large conditionals with defined sets of zeal modes. This
removes duplication between TwoSlicesZealModes and hasTwoSliceZealMode() which
were actually subtly different.
Assignee | ||
Comment 3•4 months ago
|
||
This makes more modes mutually exclusive. For modes that trigger GC I don't
think this makes any difference.
It does mean that we don't allow the barrier verifier to run at the same time
as a GC triggering zeal mode, but that doesn't make sense anyways since the
barrier verifier do anything if it's triggered during an incremental GC.
Assignee | ||
Comment 4•4 months ago
|
||
This refines the check for which modes to schedule a GC for when enabling a zeal mode.
Assignee | ||
Comment 5•4 months ago
|
||
Assignee | ||
Comment 6•4 months ago
|
||
A few of the zeal modes trigger a slice per collected zone but are described as
triggering two slices. This does some renaming and updates the help text.
Better name suggestions are welcome.
Assignee | ||
Comment 7•4 months ago
|
||
This tests the number of GCs and slices triggered by the different zeal modes.
Added a way of exposing the slice number via a GC param, in the same way we do
for major and minor GC number.
Comment 9•4 months ago
|
||
Backed out for SM bustages on gczeal.js
Backout link: https://hg.mozilla.org/integration/autoland/rev/33e67eb95f82b3356f8af555439cd079b8f844fc
Log link: https://treeherder.mozilla.org/logviewer?job_id=458967859&repo=autoland&lineNumber=58163
Comment 10•4 months ago
|
||
Comment 11•4 months ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/9db2e18fef43
https://hg.mozilla.org/mozilla-central/rev/c290c8bea006
https://hg.mozilla.org/mozilla-central/rev/6a2929944007
https://hg.mozilla.org/mozilla-central/rev/ee72b307892f
https://hg.mozilla.org/mozilla-central/rev/0ce6e4ea9e62
https://hg.mozilla.org/mozilla-central/rev/da50ecbefd94
https://hg.mozilla.org/mozilla-central/rev/506670e0890f
Assignee | ||
Updated•4 months ago
|
Description
•