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

Issue 2991343003: Makes new space iterable by filling up the mutator's TLAB (Closed)

Created:
3 years, 4 months ago by danunez
Modified:
3 years, 4 months ago
Reviewers:
zra, rmacnak, siva
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Makes new space iterable by filling up the mutator's TLAB This reverts commit bb6203dadefc1bbe613b92ba25a91da06d55c194 and adds changes FlushTLS. Now, FlushTLS will fill the mutator thread's TLAB instead of changing top_ in the Scavenger. This should prevent the assertion (thread->end() == 0) || (thread->end() == top_) in TryAllocateInTLAB in runtime/vm/scavenger.h due to a race on top_. R=asiva@google.com, rmacnak@google.com, zra@google.com Committed: https://github.com/dart-lang/sdk/commit/8b6fcf50e85d030dd7779e3bf40733a76fc95b0c

Patch Set 1 #

Total comments: 6

Patch Set 2 : Abandons TLAB when thread is unscheduled #

Total comments: 1

Patch Set 3 : Removes a safepoint assertion in FillRemainingTLAB #

Unified diffs Side-by-side diffs Delta from patch set Stats (+147 lines, -42 lines) Patch
M runtime/vm/heap.h View 1 chunk +4 lines, -0 lines 0 comments Download
M runtime/vm/heap.cc View 1 2 2 chunks +59 lines, -9 lines 0 comments Download
M runtime/vm/isolate.cc View 1 2 chunks +8 lines, -7 lines 0 comments Download
M runtime/vm/scavenger.h View 7 chunks +27 lines, -7 lines 0 comments Download
M runtime/vm/scavenger.cc View 1 7 chunks +47 lines, -19 lines 0 comments Download
M runtime/vm/thread.h View 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (1 generated)
danunez
So far, the assertions have not triggered in my testing. I wanted to put this ...
3 years, 4 months ago (2017-08-03 20:12:14 UTC) #1
rmacnak
https://codereview.chromium.org/2991343003/diff/1/runtime/vm/heap.cc File runtime/vm/heap.cc (right): https://codereview.chromium.org/2991343003/diff/1/runtime/vm/heap.cc#newcode65 runtime/vm/heap.cc:65: if (end == new_space_.end()) { Do we need this ...
3 years, 4 months ago (2017-08-03 20:31:41 UTC) #2
danunez
https://codereview.chromium.org/2991343003/diff/1/runtime/vm/heap.cc File runtime/vm/heap.cc (right): https://codereview.chromium.org/2991343003/diff/1/runtime/vm/heap.cc#newcode65 runtime/vm/heap.cc:65: if (end == new_space_.end()) { On 2017/08/03 20:31:40, rmacnak ...
3 years, 4 months ago (2017-08-03 20:39:21 UTC) #3
danunez
3 years, 4 months ago (2017-08-03 22:48:46 UTC) #4
rmacnak
lgtm w/ comment https://codereview.chromium.org/2991343003/diff/20001/runtime/vm/heap.cc File runtime/vm/heap.cc (right): https://codereview.chromium.org/2991343003/diff/20001/runtime/vm/heap.cc#newcode61 runtime/vm/heap.cc:61: ASSERT(Thread::Current()->no_safepoint_scope_depth() == 0); Fails from e.g., ...
3 years, 4 months ago (2017-08-04 17:31:59 UTC) #5
danunez
3 years, 4 months ago (2017-08-04 17:36:13 UTC) #6
danunez
3 years, 4 months ago (2017-08-04 17:36:50 UTC) #8
Message was sent while issue was closed.
Committed patchset #3 (id:40001) manually as
8b6fcf50e85d030dd7779e3bf40733a76fc95b0c (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698