using both `PokeGC` and `PokeShrinkingGC` runs two GCs when it could run one.
Categories
(Core :: JavaScript: GC, enhancement, P3)
Tracking
()
People
(Reporter: pbone, Unassigned)
References
(Blocks 1 open bug)
Details
If both PokeGC and PokeShrinkingGC are called it can result in two GCs running, a regular GC followed by a shrinking GC depending on timing. We could make this run only a single shrinking GC. I think that when we do this we don't want to bring the ShrinkingGC forward in time, since it's timer helps avoid running two many of these when the user is inactive for short periods of time (might just be sipping their coffee, rather than gone from the PC to make a new coffee).
OTOH what if PokeShrinkingGC instead races with a JS engine initiated GC. I think in that case when we detect that it's the JS engine that started the GC, we should upgrade the GC to a shrinking GC if the user is still inactive. Probably need to check if shrinking zonal GCs are possible or whether upgrading to a full GC is possible. We probably also want to avoid this during browser/process start-up.
Updated•5 years ago
|
Updated•1 year ago
|
Description
•