Description[heap] Ensure finalization of incremental marking even if all allocations
come from the runtime.
This patch fixes an issue of heap growing to max capacity when incremental
marking is finished but cannot finalize due to GC stack guard not triggering.
It can happen if all allocations come from the runtime, for example,
from JSON parser or compiler.
Now before expanding the heap we check if we are above the allocation limit
and the incremental marking needs to be finalized. If so we do not expand
the heap and force GC, which will finalize the incremental marking.
The check is performed for paged spaces and large-object space.
BUG=chromium:670675
Committed: https://crrev.com/fdc0aa0c97952e56686157b1023a8085885357b4
Cr-Commit-Position: refs/heads/master@{#41524}
Patch Set 1 #Patch Set 2 : remove debug code #Patch Set 3 : rename #Patch Set 4 : rename #Patch Set 5 : do mark-compact instead of scavenge if incremental marking needs finalization #
Total comments: 2
Patch Set 6 : keep scavenger #Patch Set 7 : revert marking change #
Messages
Total messages: 24 (19 generated)
|