Bug 1865076 - Part 3: Don't clear slice budget's interrupt word when interrupt detect...
commit72b45daca599774d4e570f64bc202cb7141180fc
authorJon Coppeard <jcoppeard@mozilla.com>
Mon, 20 Nov 2023 16:27:28 +0000 (20 16:27 +0000)
committerJon Coppeard <jcoppeard@mozilla.com>
Mon, 20 Nov 2023 16:27:28 +0000 (20 16:27 +0000)
treeb0111da29f4d09978a8eb69fbbe6a6a4d2ab037b
parent794d92abe72361e01f9a5b740b6a4baebf91eb39
Bug 1865076 - Part 3: Don't clear slice budget's interrupt word when interrupt detected r=sfink

This still records that the budget has been interrupted in case the interrupt
word changes later, but it doesn't change itself. Instead we have to clear it
when setting up the budget in CCGCScheduler.

This fixes the observed problem of slices some marking threads running much
longer than others when parallel marking is enabled.

Differential Revision: https://phabricator.services.mozilla.com/D193797
dom/base/CCGCScheduler.h
js/src/gc/GC.cpp
js/src/jsapi-tests/testSliceBudget.cpp