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

Issue 1176183002: Refactor delay set to allow more than one marking visitor (Closed)

Created:
5 years, 6 months ago by koda
Modified:
5 years, 6 months ago
Reviewers:
Ivan Posva
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

Move the delay set into its own class. Prepare it for actual parallelism: * add synchronization * abstract out the header check/update (will become one CAS) Use two separate marking visitors (sharing the delay set), with the main marking visitor in a separate thread (while mutator is paused), just to show we can. Committed: https://github.com/dart-lang/sdk/commit/12dddf1ced6fa07e477ea97c7695daff900a32ad

Patch Set 1 #

Patch Set 2 : Separate visitors. #

Patch Set 3 : sync #

Patch Set 4 : Assert finalization. #

Patch Set 5 : Drain marking stack on a separate thread, just to show we can. #

Total comments: 8

Patch Set 6 : Clarify comment. #

Patch Set 7 : address comments #

Patch Set 8 : Remove DrainTask #

Unified diffs Side-by-side diffs Delta from patch set Stats (+100 lines, -48 lines) Patch
M runtime/vm/gc_marker.h View 1 2 3 4 5 6 7 1 chunk +0 lines, -1 line 0 comments Download
M runtime/vm/gc_marker.cc View 1 2 3 4 5 6 7 9 chunks +98 lines, -46 lines 0 comments Download
M runtime/vm/raw_object.h View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/visitor.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 7 (1 generated)
koda
5 years, 6 months ago (2015-06-11 01:08:23 UTC) #2
koda
Updated to run the main marker on a separate thread (just to show we can). ...
5 years, 6 months ago (2015-06-11 17:25:54 UTC) #3
Ivan Posva
https://codereview.chromium.org/1176183002/diff/80001/runtime/vm/gc_marker.cc File runtime/vm/gc_marker.cc (right): https://codereview.chromium.org/1176183002/diff/80001/runtime/vm/gc_marker.cc#newcode585 runtime/vm/gc_marker.cc:585: ml.NotifyAll(); Why NotifyAll()? Do you really intend to wakeup ...
5 years, 6 months ago (2015-06-16 17:21:00 UTC) #4
koda
PTAL https://codereview.chromium.org/1176183002/diff/80001/runtime/vm/gc_marker.cc File runtime/vm/gc_marker.cc (right): https://codereview.chromium.org/1176183002/diff/80001/runtime/vm/gc_marker.cc#newcode585 runtime/vm/gc_marker.cc:585: ml.NotifyAll(); On 2015/06/16 17:21:00, Ivan Posva wrote: > ...
5 years, 6 months ago (2015-06-16 19:41:44 UTC) #5
koda
Committed patchset #8 (id:130001) manually as 12dddf1ced6fa07e477ea97c7695daff900a32ad (presubmit successful).
5 years, 6 months ago (2015-06-19 19:58:29 UTC) #6
koda
5 years, 6 months ago (2015-06-19 20:00:02 UTC) #7
Message was sent while issue was closed.
Committed after removing the DrainTask, to be added back once the helper threads
have their own zone.

Powered by Google App Engine
This is Rietveld 408576698