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

Issue 2810893002: [heap] Implement simple concurrent marking deque. (Closed)

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

Description

[heap] Implement simple concurrent marking deque. This patch adds a concurrent marking deque that exposes the same interface for the main thread as the existing marking deque. The matching interface makes the concurrent marking deque a drop-in replacement for the sequential marking deque without any change in mark-compactor and incremental marker. BUG=chromium:694255 Review-Url: https://codereview.chromium.org/2810893002 Cr-Commit-Position: refs/heads/master@{#45042} Committed: https://chromium.googlesource.com/v8/v8/+/c6816cd87d1d31dd78218a5f004d6db6202fb1fc

Patch Set 1 #

Patch Set 2 : more #

Patch Set 3 : add missing files #

Patch Set 4 : clean up #

Patch Set 5 : revert flags #

Total comments: 4

Patch Set 6 : rebase #

Total comments: 4

Patch Set 7 : Split into smaller cls #

Patch Set 8 : add unit test #

Patch Set 9 : add missing file #

Total comments: 4

Patch Set 10 : Fix comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+291 lines, -101 lines) Patch
M BUILD.gn View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M src/heap/concurrent-marking.h View 3 chunks +6 lines, -6 lines 0 comments Download
M src/heap/concurrent-marking.cc View 1 2 3 4 chunks +34 lines, -77 lines 0 comments Download
A src/heap/concurrent-marking-deque.h View 1 2 3 4 5 6 7 8 9 1 chunk +177 lines, -0 lines 0 comments Download
M src/heap/heap.cc View 1 2 3 4 5 6 2 chunks +2 lines, -1 line 0 comments Download
M src/heap/incremental-marking.cc View 1 2 3 4 5 6 1 chunk +0 lines, -3 lines 0 comments Download
M src/heap/mark-compact.h View 1 2 3 4 5 6 2 chunks +5 lines, -0 lines 0 comments Download
M src/heap/sequential-marking-deque.h View 1 2 3 4 5 6 1 chunk +0 lines, -9 lines 0 comments Download
M src/v8.gyp View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M test/cctest/heap/test-concurrent-marking.cc View 1 2 3 4 5 6 7 1 chunk +3 lines, -2 lines 0 comments Download
M test/cctest/heap/test-mark-compact.cc View 1 2 3 4 5 6 7 2 chunks +3 lines, -3 lines 0 comments Download
M test/unittests/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
A test/unittests/heap/concurrent-marking-deque-unittest.cc View 1 2 3 4 5 6 7 1 chunk +57 lines, -0 lines 0 comments Download
M test/unittests/unittests.gyp View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 20 (9 generated)
ulan
ptal https://codereview.chromium.org/2810893002/diff/80001/src/heap/incremental-marking.cc File src/heap/incremental-marking.cc (left): https://codereview.chromium.org/2810893002/diff/80001/src/heap/incremental-marking.cc#oldcode772 src/heap/incremental-marking.cc:772: int current = marking_deque->bottom(); We no longer can ...
3 years, 7 months ago (2017-04-27 17:49:39 UTC) #3
Michael Lippautz
In general this already looks good to me. Would it make things easier if you ...
3 years, 7 months ago (2017-05-02 09:29:11 UTC) #4
Michael Lippautz
https://codereview.chromium.org/2810893002/diff/100001/test/cctest/heap/test-mark-compact.cc File test/cctest/heap/test-mark-compact.cc (right): https://codereview.chromium.org/2810893002/diff/100001/test/cctest/heap/test-mark-compact.cc#newcode56 test/cctest/heap/test-mark-compact.cc:56: TEST(ConcurrentMarkingDeque) { nit: Could be a unit test. https://codereview.chromium.org/2810893002/diff/100001/test/cctest/heap/test-mark-compact.cc#newcode76 ...
3 years, 7 months ago (2017-05-02 09:39:31 UTC) #5
ulan
Thanks, Michael. I extracted smaller unrelated parts into separate CLs. This CL now is only ...
3 years, 7 months ago (2017-05-02 13:19:53 UTC) #7
Michael Lippautz
LGTM.
3 years, 7 months ago (2017-05-02 13:30:20 UTC) #8
Hannes Payer (out of office)
lgtm https://codereview.chromium.org/2810893002/diff/160001/src/heap/concurrent-marking-deque.h File src/heap/concurrent-marking-deque.h (right): https://codereview.chromium.org/2810893002/diff/160001/src/heap/concurrent-marking-deque.h#newcode24 src/heap/concurrent-marking-deque.h:24: // (main and concurrent) and two deques (shared ...
3 years, 7 months ago (2017-05-02 15:53:20 UTC) #10
ulan
https://codereview.chromium.org/2810893002/diff/160001/src/heap/concurrent-marking-deque.h File src/heap/concurrent-marking-deque.h (right): https://codereview.chromium.org/2810893002/diff/160001/src/heap/concurrent-marking-deque.h#newcode24 src/heap/concurrent-marking-deque.h:24: // (main and concurrent) and two deques (shared and ...
3 years, 7 months ago (2017-05-02 16:33:04 UTC) #11
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/2810893002/180001
3 years, 7 months ago (2017-05-02 16:33:13 UTC) #14
commit-bot: I haz the power
Committed patchset #10 (id:180001) as https://chromium.googlesource.com/v8/v8/+/c6816cd87d1d31dd78218a5f004d6db6202fb1fc
3 years, 7 months ago (2017-05-02 17:03:41 UTC) #17
Michael Achenbach
This makes js-tests timeout on Android: http://shortn/_aXU19j0aCE But I assume https://chromium.googlesource.com/v8/v8/+/c31c9ee0048b7445fb99e68c9a9c6152a0a12d5f might fix that? Still ...
3 years, 7 months ago (2017-05-04 09:54:24 UTC) #19
ulan
3 years, 7 months ago (2017-05-04 10:03:48 UTC) #20
Message was sent while issue was closed.
On 2017/05/04 09:54:24, Michael Achenbach wrote:
> This makes js-tests timeout on Android:
> http://shortn/_aXU19j0aCE
> 
> But I assume
>
https://chromium.googlesource.com/v8/v8/+/c31c9ee0048b7445fb99e68c9a9c6152a0a...
> might fix that? Still backlog and the bots didn't get there...

Yes, that's the fix.

Powered by Google App Engine
This is Rietveld 408576698