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

Issue 2951333002: Moves the top_ and end_ words of the Scavenger into mutator thread. (Closed)

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

Description

Moves the top_ and end_ words of the Scavenger into mutator thread. This is the first step to adding Thread Local Allocation Buffers to the VM. In this step, the mutator alone allocates to the new space, but keeps track of the start and end of the space. This is akin to a single large TLAB. BUG= R=rmacnak@google.com Committed: https://github.com/dart-lang/sdk/commit/710544a9078e013aba49f0f00fc735526ac896bc

Patch Set 1 #

Total comments: 16

Patch Set 2 : Full removal of heap's top/end offsets. Changed allocs in other archs. #

Total comments: 46

Patch Set 3 : Address comments from CL #

Total comments: 18

Patch Set 4 : Adds and uses function that checks if mutator is scheduled in GC #

Total comments: 10

Patch Set 5 : Removes the ZeroSizeScavenger test. Proper testing requires a second vm isolate. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+236 lines, -230 lines) Patch
M runtime/vm/assembler_arm.cc View 1 2 3 3 chunks +8 lines, -11 lines 0 comments Download
M runtime/vm/assembler_arm64.cc View 1 2 3 2 chunks +8 lines, -10 lines 0 comments Download
M runtime/vm/assembler_ia32.cc View 1 2 3 3 chunks +8 lines, -10 lines 0 comments Download
M runtime/vm/assembler_x64.cc View 1 2 3 3 chunks +8 lines, -10 lines 0 comments Download
M runtime/vm/dart.cc View 1 2 2 chunks +2 lines, -4 lines 0 comments Download
M runtime/vm/heap.h View 1 2 3 2 chunks +1 line, -5 lines 0 comments Download
M runtime/vm/heap.cc View 1 2 3 4 3 chunks +7 lines, -22 lines 0 comments Download
M runtime/vm/intrinsifier_arm.cc View 1 2 3 4 chunks +8 lines, -12 lines 0 comments Download
M runtime/vm/intrinsifier_arm64.cc View 1 2 3 4 chunks +8 lines, -12 lines 0 comments Download
M runtime/vm/intrinsifier_ia32.cc View 1 2 3 4 chunks +8 lines, -12 lines 0 comments Download
M runtime/vm/intrinsifier_x64.cc View 1 2 3 4 chunks +8 lines, -12 lines 0 comments Download
M runtime/vm/isolate.h View 1 2 3 1 chunk +7 lines, -0 lines 0 comments Download
M runtime/vm/isolate.cc View 1 2 3 2 chunks +10 lines, -0 lines 0 comments Download
M runtime/vm/scavenger.h View 1 2 3 4 4 chunks +39 lines, -18 lines 0 comments Download
M runtime/vm/scavenger.cc View 1 2 3 4 9 chunks +39 lines, -2 lines 0 comments Download
M runtime/vm/scavenger_test.cc View 1 2 3 4 1 chunk +0 lines, -15 lines 0 comments Download
M runtime/vm/stub_code_arm.cc View 1 2 3 5 chunks +12 lines, -18 lines 0 comments Download
M runtime/vm/stub_code_arm64.cc View 1 2 3 6 chunks +12 lines, -21 lines 0 comments Download
M runtime/vm/stub_code_ia32.cc View 1 2 3 4 chunks +12 lines, -17 lines 0 comments Download
M runtime/vm/stub_code_x64.cc View 1 2 3 5 chunks +12 lines, -19 lines 0 comments Download
M runtime/vm/thread.h View 1 2 2 chunks +17 lines, -0 lines 0 comments Download
M runtime/vm/thread.cc View 1 2 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 14 (3 generated)
danunez
3 years, 6 months ago (2017-06-22 21:45:11 UTC) #3
rmacnak
Try running with --no-inline-alloc to rule out a problem with the generated code. https://codereview.chromium.org/2951333002/diff/1/runtime/vm/heap.h File ...
3 years, 6 months ago (2017-06-22 22:31:51 UTC) #4
danunez
Expect a new patch soon for review. Will be on the lookout for more non-deterministic ...
3 years, 5 months ago (2017-06-30 20:35:58 UTC) #5
rmacnak
https://codereview.chromium.org/2951333002/diff/20001/runtime/vm/heap.h File runtime/vm/heap.h (right): https://codereview.chromium.org/2951333002/diff/20001/runtime/vm/heap.h#newcode131 runtime/vm/heap.h:131: // Accessors for inlined allocation in generated code. Remove ...
3 years, 5 months ago (2017-07-05 17:39:54 UTC) #6
danunez
https://codereview.chromium.org/2951333002/diff/20001/runtime/vm/heap.h File runtime/vm/heap.h (right): https://codereview.chromium.org/2951333002/diff/20001/runtime/vm/heap.h#newcode131 runtime/vm/heap.h:131: // Accessors for inlined allocation in generated code. On ...
3 years, 5 months ago (2017-07-05 18:12:57 UTC) #7
rmacnak
I think we're almost there. https://codereview.chromium.org/2951333002/diff/40001/runtime/vm/scavenger.cc File runtime/vm/scavenger.cc (right): https://codereview.chromium.org/2951333002/diff/40001/runtime/vm/scavenger.cc#newcode400 runtime/vm/scavenger.cc:400: Thread* thread = Thread::Current(); ...
3 years, 5 months ago (2017-07-12 17:10:22 UTC) #8
danunez
https://codereview.chromium.org/2951333002/diff/40001/runtime/vm/scavenger.cc File runtime/vm/scavenger.cc (right): https://codereview.chromium.org/2951333002/diff/40001/runtime/vm/scavenger.cc#newcode400 runtime/vm/scavenger.cc:400: Thread* thread = Thread::Current(); On 2017/07/12 17:10:22, rmacnak wrote: ...
3 years, 5 months ago (2017-07-12 18:23:38 UTC) #9
danunez
New patchset.
3 years, 5 months ago (2017-07-12 20:13:53 UTC) #10
rmacnak
lgtm w/ comments https://codereview.chromium.org/2951333002/diff/60001/runtime/vm/heap.cc File runtime/vm/heap.cc (right): https://codereview.chromium.org/2951333002/diff/60001/runtime/vm/heap.cc#newcode66 runtime/vm/heap.cc:66: uword addr = new_space_.TryAllocateInTLAB(Thread::Current(), size); Hoist ...
3 years, 5 months ago (2017-07-12 20:30:07 UTC) #11
danunez
https://codereview.chromium.org/2951333002/diff/60001/runtime/vm/heap.cc File runtime/vm/heap.cc (right): https://codereview.chromium.org/2951333002/diff/60001/runtime/vm/heap.cc#newcode66 runtime/vm/heap.cc:66: uword addr = new_space_.TryAllocateInTLAB(Thread::Current(), size); On 2017/07/12 20:30:06, rmacnak ...
3 years, 5 months ago (2017-07-12 21:02:12 UTC) #12
danunez
3 years, 5 months ago (2017-07-12 21:09:12 UTC) #14
Message was sent while issue was closed.
Committed patchset #5 (id:80001) manually as
710544a9078e013aba49f0f00fc735526ac896bc (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698