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

Issue 2985863002: Changes new space allocation from simple bump pointer allocation from (Closed)

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

Description

Changes new space allocation from simple bump pointer allocation from mutator to thread local allocation buffer system used only by mutator. The new allocation scheme is as follows: - Mutator allocates an aligned buffer from the heap. - For each object the mutator wishes to allocate - If the object fits in the overall space of the bufffer, bump allocate into the buffer. - If the object is larger than the buffer overall, allocate into old space. - If the object is not larger than the buffer but cannot fit, make the buffer iterable by GC and allocate a new buffer. - If the mutator cannot get a new buffer, do a GC and try again. - If the mutator still cannot get a new buffer, allocate the object in old space. - If the mutator does get a new buffer (before or after GC), allocate the object into the buffer. BUG= R=asiva@google.com, rmacnak@google.com Committed: https://github.com/dart-lang/sdk/commit/e6e378bb6eb5ba90f890399a889b8daad8418c45

Patch Set 1 #

Total comments: 22

Patch Set 2 : Zeroes out TLAB when needed. Changes variable and fn names #

Total comments: 12

Patch Set 3 : Fixes formatting and properly abandons mutator thread TLAB #

Unified diffs Side-by-side diffs Delta from patch set Stats (+140 lines, -38 lines) Patch
M runtime/vm/heap.h View 1 1 chunk +3 lines, -0 lines 0 comments Download
M runtime/vm/heap.cc View 1 2 2 chunks +58 lines, -9 lines 0 comments Download
M runtime/vm/isolate.cc View 1 2 2 chunks +10 lines, -7 lines 0 comments Download
M runtime/vm/scavenger.h View 1 2 6 chunks +26 lines, -4 lines 0 comments Download
M runtime/vm/scavenger.cc View 1 2 6 chunks +41 lines, -18 lines 0 comments Download
M runtime/vm/thread.h View 1 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 9 (1 generated)
danunez
Second part of the TLAB change.
3 years, 5 months ago (2017-07-25 17:15:22 UTC) #1
rmacnak
https://codereview.chromium.org/2985863002/diff/1/runtime/vm/heap.cc File runtime/vm/heap.cc (right): https://codereview.chromium.org/2985863002/diff/1/runtime/vm/heap.cc#newcode60 runtime/vm/heap.cc:60: void Heap::MakeTLABIterable(uword start, uword end) { Consider recasting as ...
3 years, 5 months ago (2017-07-25 21:02:45 UTC) #2
danunez
New patchset incoming. https://codereview.chromium.org/2985863002/diff/1/runtime/vm/heap.cc File runtime/vm/heap.cc (right): https://codereview.chromium.org/2985863002/diff/1/runtime/vm/heap.cc#newcode60 runtime/vm/heap.cc:60: void Heap::MakeTLABIterable(uword start, uword end) { ...
3 years, 4 months ago (2017-07-26 20:19:21 UTC) #3
danunez
3 years, 4 months ago (2017-07-26 20:45:10 UTC) #4
rmacnak
https://codereview.chromium.org/2985863002/diff/20001/runtime/vm/heap.cc File runtime/vm/heap.cc (right): https://codereview.chromium.org/2985863002/diff/20001/runtime/vm/heap.cc#newcode72 runtime/vm/heap.cc:72: ASSERT(start + size == new_space_.top()); (start + size) == ...
3 years, 4 months ago (2017-07-26 21:30:30 UTC) #5
danunez
https://codereview.chromium.org/2985863002/diff/20001/runtime/vm/heap.cc File runtime/vm/heap.cc (right): https://codereview.chromium.org/2985863002/diff/20001/runtime/vm/heap.cc#newcode72 runtime/vm/heap.cc:72: ASSERT(start + size == new_space_.top()); On 2017/07/26 21:30:29, rmacnak ...
3 years, 4 months ago (2017-07-26 22:07:12 UTC) #6
rmacnak
lgtm
3 years, 4 months ago (2017-07-27 20:33:44 UTC) #7
danunez
3 years, 4 months ago (2017-07-27 20:53:45 UTC) #9
Message was sent while issue was closed.
Committed patchset #3 (id:40001) manually as
e6e378bb6eb5ba90f890399a889b8daad8418c45 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698