Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Issue 2552613004: [heap] Ensure finalization of incremental marking even if all allocations (Closed)

Created:
4 years ago by ulan
Modified:
4 years ago
CC:
v8-reviews_googlegroups.com, Hannes Payer (out of office), ulan
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

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 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+47 lines, -4 lines) Patch
M src/heap/heap.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/heap/heap.cc View 1 2 3 5 1 chunk +5 lines, -1 line 0 comments Download
M src/heap/incremental-marking.h View 1 chunk +5 lines, -0 lines 0 comments Download
M src/heap/spaces.cc View 1 2 3 2 chunks +3 lines, -2 lines 0 comments Download
M test/cctest/heap/heap-tester.h View 1 chunk +1 line, -0 lines 0 comments Download
M test/cctest/heap/test-heap.cc View 1 chunk +32 lines, -0 lines 0 comments Download

Messages

Total messages: 24 (19 generated)
ulan
ptal https://codereview.chromium.org/2552613004/diff/80001/src/heap/heap.h File src/heap/heap.h (right): https://codereview.chromium.org/2552613004/diff/80001/src/heap/heap.h#newcode1861 src/heap/heap.h:1861: bool ShouldExpandOldGenerationOnSlowAllocation(); Renaming because I call this function ...
4 years ago (2016-12-05 21:18:16 UTC) #6
Michael Lippautz
lgtm
4 years ago (2016-12-06 13:33:33 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2552613004/120001
4 years ago (2016-12-06 13:34:49 UTC) #19
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years ago (2016-12-06 14:06:16 UTC) #22
commit-bot: I haz the power
4 years ago (2016-12-06 14:06:49 UTC) #24
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/fdc0aa0c97952e56686157b1023a8085885357b4
Cr-Commit-Position: refs/heads/master@{#41524}

Powered by Google App Engine
This is Rietveld 408576698