Closed
Bug 1512042
Opened 6 years ago
Closed 5 years ago
Consider using SegmentedVector for gray root buffers
Categories
(Core :: JavaScript: GC, enhancement, P3)
Tracking
()
RESOLVED
FIXED
mozilla67
Tracking | Status | |
---|---|---|
firefox67 | --- | fixed |
People
(Reporter: jonco, Assigned: jonco)
Details
Attachments
(1 file)
5.92 KB,
patch
|
pbone
:
review+
|
Details | Diff | Splinter Review |
The comments in SegmentedVector.h say: // This class should be used in preference to mozilla::Vector or nsTArray when // you are simply gathering items in order to later iterate over them. // // - In the case where you don't know the final size in advance, using // SegmentedVector avoids the need to repeatedly allocate increasingly large // buffers and copy the data into them. This applies to our grey root buffers (Zone::gcGrayRoots_) where we gather a potentially large number of Cell pointers in the first slice of the GC so we can mark them later on. It would be good to avoid the reallocation and copying involved with using a Vector here. Also I'm curious what effect a different implementation would have on crashes like bug 1203273.
Assignee | ||
Comment 1•5 years ago
|
||
Gray root buffering accounts for 50% of our slice overruns on beta so it's worth trying to see if we can get any improvement here: https://telemetry.mozilla.org/new-pipeline/evo.html#!aggregates=0%2520bucket%2520percentage!49%2520bucket%2520percentage&cumulative=0&end_date=null&include_spill=0&keys=&max_channel_version=beta%252F65&measure=GC_SLOW_TASK&min_channel_version=beta%252F65&processType=*&product=Firefox&sanitize=1&sort_keys=submissions&start_date=null&trim=1&use_submission_date=0
Assignee | ||
Comment 2•5 years ago
|
||
Patch to use SegmentedVectors for the gray root buffers.
We can see if this makes any difference to the telemetry and back it out if it makes things worse.
Assignee: nobody → jcoppeard
Attachment #9037540 -
Flags: review?(pbone)
Comment 3•5 years ago
|
||
Comment on attachment 9037540 [details] [diff] [review] bug1512042-gray-buffer-vector Review of attachment 9037540 [details] [diff] [review]: ----------------------------------------------------------------- The patch itself LGTM, but since today we're now in soft freeze. Unless you have a strong reason to land it now (I don't know about Bug 1203273) then maybe wait until next week.
Attachment #9037540 -
Flags: review?(pbone) → review+
Pushed by jcoppeard@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/4ac26510b88f Try using SegmentedVector for gray root buffers r=pbone
Pushed by jcoppeard@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/231f059ad9d9 Fix bustage on MacOS X r=me on a CLOSED TREE
Comment 6•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/4ac26510b88f
https://hg.mozilla.org/mozilla-central/rev/231f059ad9d9
Status: NEW → RESOLVED
Closed: 5 years ago
status-firefox67:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
You need to log in
before you can comment on or make changes to this bug.
Description
•