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

Issue 2796233003: [heap] Evacuation for young generation (Closed)

Created:
3 years, 8 months ago by Michael Lippautz
Modified:
3 years, 7 months ago
CC:
v8-reviews_googlegroups.com, Hannes Payer (out of office), ulan, Michael Hablich
Target Ref:
refs/heads/master
Project:
v8
Visibility:
Public.

Description

[heap] MinorMC: Evacuation for young generation In the spirit of the full MC, we evacuate and update pointers in parallel for the young generation. The collectors are connected during incremental marking when mark bits are transferred from the young generation bitmap to the old generation bitmap. The evacuation phase cannot (yet) move pages and relies completely on copying objects. BUG=chromium:651354 Review-Url: https://codereview.chromium.org/2796233003 Cr-Commit-Position: refs/heads/master@{#45074} Committed: https://chromium.googlesource.com/v8/v8/+/bf74d43de055393d97a3db4f01e4c832e35af10f

Patch Set 1 #

Patch Set 2 : Fix global handles #

Patch Set 3 : Fix external string table cleaning #

Patch Set 4 : Fix page promotion tests #

Patch Set 5 : Finish sweeping new space before minor mc #

Patch Set 6 : More fixes #

Patch Set 7 : Rebase #

Patch Set 8 : Fix processing of black allocated objects #

Patch Set 9 : Fix Expand #

Patch Set 10 : Rebase #

Patch Set 11 : Fix concurrent access on AccountingStats #

Patch Set 12 : Add atomic version for TransferColor #

Patch Set 13 : Rebase #

Patch Set 14 : Rebase #

Patch Set 15 : Smaller fixes #

Patch Set 16 : Fix recording #

Total comments: 15

Patch Set 17 : Rebase after [heap] Allow concurrently transferring colors #

Total comments: 6

Patch Set 18 : Rebase after [heap] Refactor MC and introduce MarkCompactCollectorBase #

Patch Set 19 : Rebase #

Patch Set 20 : Rebase after smaller refactorings landed #

Total comments: 10

Patch Set 21 : Avoid keeping the list clustered into pages with and without free space #

Patch Set 22 : Addressed comments #

Patch Set 23 : Fix for accounting stats #

Patch Set 24 : Fix accounting for committed/uncommitted memory #

Patch Set 25 : Fixes after rebase #

Patch Set 26 : Adjust RemovePageSafe heuristics #

Patch Set 27 : Fix compaction space test #

Total comments: 8

Patch Set 28 : Addressed comments #

Patch Set 29 : Fix limit #

Patch Set 30 : Rebase after disabling black allocation during GCs #

Total comments: 10

Patch Set 31 : Addressed comments #

Patch Set 32 : Fix some comments #

Patch Set 33 : Disable flag #

Unified diffs Side-by-side diffs Delta from patch set Stats (+596 lines, -135 lines) Patch
M src/flag-definitions.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 1 chunk +0 lines, -1 line 0 comments Download
M src/heap/gc-tracer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +63 lines, -61 lines 0 comments Download
M src/heap/gc-tracer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +10 lines, -2 lines 0 comments Download
M src/heap/mark-compact.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 9 chunks +38 lines, -21 lines 0 comments Download
M src/heap/mark-compact.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 24 chunks +386 lines, -28 lines 0 comments Download
M src/heap/spaces.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 7 chunks +27 lines, -18 lines 0 comments Download
M src/heap/spaces.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 3 chunks +51 lines, -1 line 0 comments Download
M src/heap/spaces-inl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +7 lines, -2 lines 0 comments Download
M test/cctest/heap/test-page-promotion.cc View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M test/cctest/heap/test-spaces.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/test-strings.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M test/unittests/heap/spaces-unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +6 lines, -0 lines 0 comments Download

Messages

Total messages: 151 (137 generated)
Michael Lippautz
Please take a look. The idea is to have the full CL here and land ...
3 years, 8 months ago (2017-04-21 07:05:52 UTC) #73
Hannes Payer (out of office)
I like it. https://codereview.chromium.org/2796233003/diff/430001/src/heap/mark-compact.h File src/heap/mark-compact.h (right): https://codereview.chromium.org/2796233003/diff/430001/src/heap/mark-compact.h#newcode425 src/heap/mark-compact.h:425: class MinorMarkCompactCollector { Would it make ...
3 years, 8 months ago (2017-04-21 14:35:18 UTC) #74
Hannes Payer (out of office)
https://codereview.chromium.org/2796233003/diff/410001/src/heap/incremental-marking.h File src/heap/incremental-marking.h (right): https://codereview.chromium.org/2796233003/diff/410001/src/heap/incremental-marking.h#newcode189 src/heap/incremental-marking.h:189: V8_INLINE static void TransferColor(HeapObject* from, HeapObject* to) { On ...
3 years, 8 months ago (2017-04-21 14:46:27 UTC) #75
Michael Lippautz
https://codereview.chromium.org/2796233003/diff/410001/src/heap/incremental-marking.h File src/heap/incremental-marking.h (right): https://codereview.chromium.org/2796233003/diff/410001/src/heap/incremental-marking.h#newcode189 src/heap/incremental-marking.h:189: V8_INLINE static void TransferColor(HeapObject* from, HeapObject* to) { On ...
3 years, 8 months ago (2017-04-24 13:15:09 UTC) #76
ulan
https://codereview.chromium.org/2796233003/diff/510001/src/heap/mark-compact.cc File src/heap/mark-compact.cc (right): https://codereview.chromium.org/2796233003/diff/510001/src/heap/mark-compact.cc#newcode309 src/heap/mark-compact.cc:309: VerifyEvacuation(heap_->new_space()); Verification should be done for the whole heap. ...
3 years, 8 months ago (2017-04-26 09:51:28 UTC) #78
Michael Lippautz
All addressed. Also rebased after most recent CL that refactored out task creation. https://codereview.chromium.org/2796233003/diff/510001/src/heap/mark-compact.cc File ...
3 years, 7 months ago (2017-05-02 11:22:00 UTC) #115
Hannes Payer (out of office)
https://codereview.chromium.org/2796233003/diff/730001/src/flag-definitions.h File src/flag-definitions.h (right): https://codereview.chromium.org/2796233003/diff/730001/src/flag-definitions.h#newcode674 src/flag-definitions.h:674: DEFINE_BOOL(minor_mc, true, "perform young generation mark compact GCs") Make ...
3 years, 7 months ago (2017-05-02 16:17:27 UTC) #128
Michael Lippautz
https://codereview.chromium.org/2796233003/diff/730001/src/flag-definitions.h File src/flag-definitions.h (right): https://codereview.chromium.org/2796233003/diff/730001/src/flag-definitions.h#newcode674 src/flag-definitions.h:674: DEFINE_BOOL(minor_mc, true, "perform young generation mark compact GCs") On ...
3 years, 7 months ago (2017-05-02 16:56:17 UTC) #129
Michael Lippautz
ptal
3 years, 7 months ago (2017-05-03 14:07:44 UTC) #138
ulan
lgtm with few nits :) https://codereview.chromium.org/2796233003/diff/790001/src/heap/mark-compact.cc File src/heap/mark-compact.cc (right): https://codereview.chromium.org/2796233003/diff/790001/src/heap/mark-compact.cc#newcode325 src/heap/mark-compact.cc:325: if (heap()->InNewSpace(object)) { CHECK_IMPLIES ...
3 years, 7 months ago (2017-05-03 14:27:20 UTC) #139
Hannes Payer (out of office)
LGTM https://codereview.chromium.org/2796233003/diff/790001/src/heap/mark-compact.cc File src/heap/mark-compact.cc (right): https://codereview.chromium.org/2796233003/diff/790001/src/heap/mark-compact.cc#newcode1883 src/heap/mark-compact.cc:1883: heap_->incremental_marking()->TransferColor<MarkBit::ATOMIC>(src, dst); Note: Ideally, this one would be ...
3 years, 7 months ago (2017-05-03 14:44:53 UTC) #140
Michael Lippautz
https://codereview.chromium.org/2796233003/diff/790001/src/heap/mark-compact.cc File src/heap/mark-compact.cc (right): https://codereview.chromium.org/2796233003/diff/790001/src/heap/mark-compact.cc#newcode325 src/heap/mark-compact.cc:325: if (heap()->InNewSpace(object)) { On 2017/05/03 14:27:20, ulan wrote: > ...
3 years, 7 months ago (2017-05-03 15:08:03 UTC) #141
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/2796233003/850001
3 years, 7 months ago (2017-05-03 21:01:32 UTC) #148
commit-bot: I haz the power
3 years, 7 months ago (2017-05-03 21:31:21 UTC) #151
Message was sent while issue was closed.
Committed patchset #33 (id:850001) as
https://chromium.googlesource.com/v8/v8/+/bf74d43de055393d97a3db4f01e4c832e35...

Powered by Google App Engine
This is Rietveld 408576698