Hi Erik, Yeah, I see how that can be confusing. In my previous answer I assumed you meant there are pages that are only swept when we start the next GC, which is uncommon but possible. What you're describing now, where all pages are swept but the GC remains in a sweeping state, is very likely and intentional.
Sweeping the pages can happen either concurrently or during allocations. Switching state happens after all pages are swept but can be delayed. Finalizing sweeping, and the state change that goes with it, requires some accounting work which, for performance reasons, we don't want to do during an allocation (it also has to happen on the main thread so can be concurrent). Therefore the state remains as is until we can "safely" (i.e. without incurring an unnecessary performance cost) finalize sweeping, which is usually when we start the next GC (minor or major). I hope that clarifies things. Omer On Thu, Nov 14, 2024 at 9:30 PM Erik Corry <[email protected]> wrote: > I see. I was just confused because the GC state stays in SWEEPING until > the next big GC, even when all pages have been swept. > > On Wed, Nov 13, 2024 at 4:56 PM Omer Katz (chromium.org) < > [email protected]> wrote: > >> Sweeping happens either concurrently (disabled by --single-threaded-gc) >> or on allocation if we will otherwise run out of memory. >> It's possible that you don't hit the cases that would require sweeping on >> allocation. >> >> On Wed, Nov 13, 2024 at 4:49 PM Erik Corry <[email protected]> >> wrote: >> >>> We run with --single-threaded-gc. It looks like no sweeping of old >>> space takes place until the next old-space GC starts up. Does this sound >>> likely? I'm putting a breakpoint in Sweeper::RawSweep, and it's not hit >>> between old-space-GCs, even though the GC state is SWEEPING. Is there >>> a different place that does the sweeping work? >>> >>> -- >>> -- >>> v8-dev mailing list >>> [email protected] >>> http://groups.google.com/group/v8-dev >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "v8-dev" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion visit >>> https://groups.google.com/d/msgid/v8-dev/CAHZxHpiAZ0EQNJFmubnwvVxtVAu1vJTFg-1AXNEXeX8ojMqazg%40mail.gmail.com >>> <https://groups.google.com/d/msgid/v8-dev/CAHZxHpiAZ0EQNJFmubnwvVxtVAu1vJTFg-1AXNEXeX8ojMqazg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- >> -- >> v8-dev mailing list >> [email protected] >> http://groups.google.com/group/v8-dev >> --- >> You received this message because you are subscribed to the Google Groups >> "v8-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion visit >> https://groups.google.com/d/msgid/v8-dev/CAJFGqfO8RRmOh6sbeu4AckMf%2B0FqNoh%3D-7W%3DAn1SjNGgo6o0wQ%40mail.gmail.com >> <https://groups.google.com/d/msgid/v8-dev/CAJFGqfO8RRmOh6sbeu4AckMf%2B0FqNoh%3D-7W%3DAn1SjNGgo6o0wQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- > -- > v8-dev mailing list > [email protected] > http://groups.google.com/group/v8-dev > --- > You received this message because you are subscribed to the Google Groups > "v8-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion visit > https://groups.google.com/d/msgid/v8-dev/CAHZxHpjKD%3DUAWs5E3yvP9%3Douc%2BA2-6xcqBc6%3DS-HG9z0s4n6Pw%40mail.gmail.com > <https://groups.google.com/d/msgid/v8-dev/CAHZxHpjKD%3DUAWs5E3yvP9%3Douc%2BA2-6xcqBc6%3DS-HG9z0s4n6Pw%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/v8-dev/CAJFGqfPGM33z%3DF9QX%3Du1pUXf_39nfJPSvMA03SEeUd%3D0VD8nEA%40mail.gmail.com.
