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

Issue 1350933004: Distinct block sizes for StoreBuffer/MarkingStack. (Closed)

Created:
5 years, 3 months ago by koda
Modified:
5 years, 3 months ago
Reviewers:
Cutch
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Distinct block sizes for StoreBuffer/MarkingStack. Remove typedef hack by templatizing the shared structures, parameterized by block size. Smaller marking stack blocks are needed for better work distribution during parallel GC. As a consequence, MarkingStack and StoreBuffer have separate global caches of empty blocks. Also, use inheritance to differentiate: only StoreBuffer needs the threshold-checking functionality. BUG= R=johnmccutchan@google.com Committed: https://github.com/dart-lang/sdk/commit/e98fcf935426451edc1b36ee7e3ae4ba5d4e4647

Patch Set 1 #

Patch Set 2 : Cleanup. #

Patch Set 3 : Ready for review. #

Total comments: 4

Patch Set 4 : Address review comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+147 lines, -79 lines) Patch
M runtime/vm/dart.cc View 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/gc_marker.cc View 4 chunks +5 lines, -8 lines 0 comments Download
M runtime/vm/scavenger.cc View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M runtime/vm/store_buffer.h View 1 2 3 3 chunks +72 lines, -33 lines 0 comments Download
M runtime/vm/store_buffer.cc View 1 2 3 9 chunks +56 lines, -27 lines 0 comments Download
M runtime/vm/thread.h View 1 2 3 2 chunks +3 lines, -2 lines 0 comments Download
M runtime/vm/thread.cc View 1 2 3 4 chunks +8 lines, -8 lines 0 comments Download

Messages

Total messages: 6 (1 generated)
koda
5 years, 3 months ago (2015-09-17 17:22:07 UTC) #2
koda
Note that this will not have any performance benefit until multiple marking tasks are actually ...
5 years, 3 months ago (2015-09-17 17:24:15 UTC) #3
Cutch
LGTM with one comment and one suggestion https://codereview.chromium.org/1350933004/diff/40001/runtime/vm/store_buffer.h File runtime/vm/store_buffer.h (right): https://codereview.chromium.org/1350933004/diff/40001/runtime/vm/store_buffer.h#newcode130 runtime/vm/store_buffer.h:130: static Mutex* ...
5 years, 3 months ago (2015-09-17 18:04:06 UTC) #4
koda
https://codereview.chromium.org/1350933004/diff/40001/runtime/vm/store_buffer.h File runtime/vm/store_buffer.h (right): https://codereview.chromium.org/1350933004/diff/40001/runtime/vm/store_buffer.h#newcode130 runtime/vm/store_buffer.h:130: static Mutex* global_mutex_; On 2015/09/17 18:04:06, Cutch wrote: > ...
5 years, 3 months ago (2015-09-17 19:13:18 UTC) #5
koda
5 years, 3 months ago (2015-09-17 19:22:00 UTC) #6
Message was sent while issue was closed.
Committed patchset #4 (id:60001) manually as
e98fcf935426451edc1b36ee7e3ae4ba5d4e4647 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698