зеркало из https://github.com/mozilla/gecko-dev.git
88e248703f
This adds a new background task for unmarking which gets kicked off in the first GC slice. There's a new explicit 'prepare' state for both the GCRuntime and zones. The GC proper starts in a second (or later) slice when this has finished. Because of this we have to be a bit careful when checking GC state because the 'prepare' state is not part of the GC from the point of view of snapshot-at-the-beginning. I had to update a bunch of test code that assumed that GC started in the mark state. This fixes cancelleling a parallel task in the case that the task was idle so that it doesn't leave the cancel flag set. Also it stops us sending telemetry about how much was collected in GCs that were reset as we don't always have the data for the original heap sizes by this point if the reset happened while we were in the prepare phase. Finally there's a new zeal mode to test this, named YieldBeforeRootMarking (slightly confusing but in line with the other modes). Differential Revision: https://phabricator.services.mozilla.com/D98481 |
||
---|---|---|
.. | ||
ductwork/debugger | ||
examples | ||
public | ||
rust | ||
src | ||
xpconnect | ||
app.mozbuild | ||
ffi.configure | ||
moz.build | ||
moz.configure | ||
sub.configure |