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

Issue 1212943010: Safer interface for heap iteration. (Closed)

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

Description

Safer interface for heap iteration. Address issue 21620, by sharing code to wait for concurrent sweeper to finish, and freeing the caller from this responsibility. The new public interface is Heap::Iterate*, and the old Heap::Visit* are made private, for GC use only. (Eventually, we'll want to support iterating over the heap while concurrent GC runs, but that will have to wait until all header accesss is synchronized.) BUG=21620 R=asiva@google.com Committed: https://github.com/dart-lang/sdk/commit/3fc6fce1c03328f4201bacfd9f8f6de0cef88376

Patch Set 1 #

Total comments: 6

Patch Set 2 : Address review comments. #

Patch Set 3 : Fix assertion. #

Total comments: 2

Patch Set 4 : Fix release mode. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+123 lines, -61 lines) Patch
M runtime/vm/dart_api_impl.cc View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/heap.h View 1 5 chunks +29 lines, -10 lines 0 comments Download
M runtime/vm/heap.cc View 1 2 4 chunks +53 lines, -6 lines 0 comments Download
M runtime/vm/isolate.h View 3 chunks +11 lines, -3 lines 0 comments Download
M runtime/vm/isolate.cc View 2 chunks +8 lines, -6 lines 0 comments Download
M runtime/vm/object.cc View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/object_graph.cc View 5 chunks +4 lines, -14 lines 0 comments Download
M runtime/vm/object_test.cc View 1 chunk +1 line, -11 lines 0 comments Download
M runtime/vm/pages.h View 1 2 chunks +4 lines, -1 line 0 comments Download
M runtime/vm/pages.cc View 1 2 3 4 chunks +6 lines, -3 lines 0 comments Download
M runtime/vm/snapshot.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/vm/verifier.cc View 1 chunk +3 lines, -3 lines 0 comments Download

Messages

Total messages: 7 (1 generated)
koda
5 years, 5 months ago (2015-07-07 04:40:39 UTC) #2
siva
I have one comment regarding nested HeapIterationScopes. https://codereview.chromium.org/1212943010/diff/1/runtime/vm/heap.cc File runtime/vm/heap.cc (right): https://codereview.chromium.org/1212943010/diff/1/runtime/vm/heap.cc#newcode231 runtime/vm/heap.cc:231: old_space_->set_tasks(1); How ...
5 years, 5 months ago (2015-07-07 18:10:24 UTC) #3
koda
https://codereview.chromium.org/1212943010/diff/1/runtime/vm/heap.cc File runtime/vm/heap.cc (right): https://codereview.chromium.org/1212943010/diff/1/runtime/vm/heap.cc#newcode231 runtime/vm/heap.cc:231: old_space_->set_tasks(1); On 2015/07/07 18:10:24, siva wrote: > How do ...
5 years, 5 months ago (2015-07-07 22:46:40 UTC) #4
siva
lgtm https://codereview.chromium.org/1212943010/diff/40001/runtime/vm/pages.cc File runtime/vm/pages.cc (right): https://codereview.chromium.org/1212943010/diff/40001/runtime/vm/pages.cc#newcode162 runtime/vm/pages.cc:162: tasks_(0), #if defined(DEBUG) https://codereview.chromium.org/1212943010/diff/40001/runtime/vm/pages.cc#newcode163 runtime/vm/pages.cc:163: is_iterating_(false), #endif
5 years, 5 months ago (2015-07-07 22:53:42 UTC) #5
koda
On 2015/07/07 22:53:42, siva wrote: > lgtm > > https://codereview.chromium.org/1212943010/diff/40001/runtime/vm/pages.cc > File runtime/vm/pages.cc (right): > ...
5 years, 5 months ago (2015-07-08 00:18:56 UTC) #6
koda
5 years, 5 months ago (2015-07-08 00:20:25 UTC) #7
Message was sent while issue was closed.
Committed patchset #4 (id:60001) manually as
3fc6fce1c03328f4201bacfd9f8f6de0cef88376 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698