Bug 1710552 - pt 1. Prepare for GCs being denied r=smaug
commit0d0bbcac0f665b502d80f54f15ed1f6b7accaa83
authorPaul Bone <pbone@mozilla.com>
Fri, 13 Aug 2021 04:06:25 +0000 (13 04:06 +0000)
committerPaul Bone <pbone@mozilla.com>
Fri, 13 Aug 2021 04:06:25 +0000 (13 04:06 +0000)
tree94a2503e78c4bd89ce0bbf29fb10c84b5e90604c
parente61a054602f4bc28df19b5eba6eff7f0009d5a45
Bug 1710552 - pt 1. Prepare for GCs being denied r=smaug

This patch also:
 * adds an assertion to KillGCRunner() to ensure it's never killed if
   needed, now that there are more calls to KillGCRunner(), some calls have
   been moved eg in nsJSEnvironment so as not to kill the runner a little
   later and keep the assertions happy.

 * IdleSchedulerChild will decline a request for a GC if there's already a
   request in flight.

 * CCGCScheduler will check if a GC is already in progress when handling the
   parents' response to a GC request.

Differential Revision: https://phabricator.services.mozilla.com/D120830
dom/base/CCGCScheduler.cpp
dom/base/CCGCScheduler.h
dom/base/nsJSEnvironment.cpp
ipc/glue/IdleSchedulerChild.cpp
ipc/glue/IdleSchedulerChild.h