gecko-dev/js
Jon Coppeard 3e70d88d7a Bug 1871303 - Ensure there is no more marking at the start of sweeping (ESR115) a=dmeehan
There are two issues here. The first is that there unexpected marking work at
the start of sweeping after entering from the mark phase without yielding. We
previously called assertNoMarkingWork() after markUntilBudgetExhausted() in the
marking phase so something since then must have added it.

As far as I can tell this must be the conditional call to
collectNurseryFromMajorGC(), where a post barrier for a pointer cleared during
finalization (e.g. for Maps in mapObject::sweepAfterMinorGC) ends up marking
something. I'm not sure such barriers are necessary, but for now the safest
thing to do is to move this nursery collection to the start of the slice so
that it happens before we drain the mark stack.

The second issue is that we check the budget and conditionally yield if we
enter from the marking state. The comment above this code states that this is
not safe since we have not yet started sweeping a sweep group. This check was
added in bug 1865383 but was not the main part of the fix. I think we should
remove this.

I wasn't able to come up with a test case to reproduce this.

Differential Revision: https://phabricator.services.mozilla.com/D217551
2024-07-24 09:19:33 +00:00
..
examples
loader Bug 1835886 - Cancel outstanding load requests when a document is detached from a global r=smaug, a=dmeehan 2023-06-13 08:46:26 +00:00
public Bug 1848369 - Add checksum to Stencil XDR content. r=nbp, a=RyanVM 2023-08-15 22:06:35 +00:00
src Bug 1871303 - Ensure there is no more marking at the start of sweeping (ESR115) a=dmeehan 2024-07-24 09:19:33 +00:00
xpconnect Bug 1859708: Add rule to allow read access to the binary dir for GPU sandbox. r=gstoll, a=RyanVM 2024-03-28 21:25:57 +00:00
app.mozbuild
ffi.configure
moz.build
moz.configure Backed out changeset f48b35a6fdce (bug 1831030) for Linting failure. CLOSED TREE 2023-06-01 17:12:21 +03:00
sub.configure