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 7149016: Multi-page growing and shrinking new-space (Closed)

Created:
9 years, 6 months ago by Lasse Reichstein
Modified:
9 years, 6 months ago
CC:
v8-dev
Visibility:
Public.

Description

Multi-page growing and shrinking new-space Committed: http://code.google.com/p/v8/source/detail?r=8282

Patch Set 1 #

Total comments: 19

Patch Set 2 : Address review comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+263 lines, -117 lines) Patch
M src/heap.h View 1 1 chunk +18 lines, -3 lines 0 comments Download
M src/heap.cc View 1 3 chunks +12 lines, -7 lines 0 comments Download
M src/heap-inl.h View 1 1 chunk +10 lines, -1 line 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M src/incremental-marking.h View 1 3 chunks +8 lines, -5 lines 0 comments Download
M src/incremental-marking.cc View 1 10 chunks +51 lines, -20 lines 0 comments Download
M src/mark-compact.cc View 1 3 chunks +28 lines, -7 lines 0 comments Download
M src/mark-compact-inl.h View 1 chunk +1 line, -1 line 0 comments Download
M src/objects-visiting.h View 1 chunk +4 lines, -0 lines 0 comments Download
M src/objects-visiting-inl.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/spaces.h View 1 9 chunks +29 lines, -18 lines 0 comments Download
M src/spaces.cc View 1 11 chunks +83 lines, -49 lines 0 comments Download
M src/spaces-inl.h View 1 2 chunks +11 lines, -6 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
Lasse Reichstein
9 years, 6 months ago (2011-06-14 11:10:55 UTC) #1
Vyacheslav Egorov (Chromium)
incremental marking part LGTM http://codereview.chromium.org/7149016/diff/1/src/incremental-marking.cc File src/incremental-marking.cc (right): http://codereview.chromium.org/7149016/diff/1/src/incremental-marking.cc#newcode162 src/incremental-marking.cc:162: chunk->SetFlag(MemoryChunk::SCAN_ON_SCAVENGE); I am not sure ...
9 years, 6 months ago (2011-06-14 11:52:55 UTC) #2
Erik Corry
LGTM http://codereview.chromium.org/7149016/diff/1/src/spaces.cc File src/spaces.cc (right): http://codereview.chromium.org/7149016/diff/1/src/spaces.cc#newcode1006 src/spaces.cc:1006: if (new_limit < allocation_info_.limit) { This 'if' can ...
9 years, 6 months ago (2011-06-14 12:17:17 UTC) #3
Erik Corry
no, wait!
9 years, 6 months ago (2011-06-14 12:17:43 UTC) #4
Erik Corry
Now it LGTM http://codereview.chromium.org/7149016/diff/1/src/incremental-marking.cc File src/incremental-marking.cc (right): http://codereview.chromium.org/7149016/diff/1/src/incremental-marking.cc#newcode162 src/incremental-marking.cc:162: chunk->SetFlag(MemoryChunk::SCAN_ON_SCAVENGE); On 2011/06/14 11:52:55, Vyacheslav Egorov ...
9 years, 6 months ago (2011-06-14 12:23:17 UTC) #5
Lasse Reichstein
9 years, 6 months ago (2011-06-14 14:13:03 UTC) #6
http://codereview.chromium.org/7149016/diff/1/src/incremental-marking.cc
File src/incremental-marking.cc (right):

http://codereview.chromium.org/7149016/diff/1/src/incremental-marking.cc#newc...
src/incremental-marking.cc:162: chunk->SetFlag(MemoryChunk::SCAN_ON_SCAVENGE);
Keeping it.

http://codereview.chromium.org/7149016/diff/1/src/incremental-marking.cc#newc...
src/incremental-marking.cc:175: void
IncrementalMarking::DeactivateWriteBarrierForSpace(NewSpace* space) {
search-and-replaced.

http://codereview.chromium.org/7149016/diff/1/src/incremental-marking.cc#newc...
src/incremental-marking.cc:211: NewSpacePageIterator it(space->ToSpaceLow(),
space->ToSpaceHigh());
Actually that's why I want a page iterator to iterate over the pages of the
semispace without doing the book-keeping every time.

http://codereview.chromium.org/7149016/diff/1/src/incremental-marking.cc#newc...
src/incremental-marking.cc:211: NewSpacePageIterator it(space->ToSpaceLow(),
space->ToSpaceHigh());
Changed to use NewSpacePageIterator(space), which does the same thing.

http://codereview.chromium.org/7149016/diff/1/src/spaces.cc
File src/spaces.cc (right):

http://codereview.chromium.org/7149016/diff/1/src/spaces.cc#newcode1006
src/spaces.cc:1006: if (new_limit < allocation_info_.limit) {
Done.

http://codereview.chromium.org/7149016/diff/1/src/spaces.cc#newcode1095
src/spaces.cc:1095: current = page->body();
The loop ends immediately after, so that won't make any difference.

http://codereview.chromium.org/7149016/diff/1/src/spaces.cc#newcode1311
src/spaces.cc:1311: // on from-space pages, so it might be out of sync with the
marking state.
Yes, but why move complexity from debug-only code to "real" code.

http://codereview.chromium.org/7149016/diff/1/src/spaces.h
File src/spaces.h (right):

http://codereview.chromium.org/7149016/diff/1/src/spaces.h#newcode1531
src/spaces.h:1531: static bool at_start(Address addr) {
Done

http://codereview.chromium.org/7149016/diff/1/src/spaces.h#newcode1536
src/spaces.h:1536: static bool at_end(Address addr) {
do.

Powered by Google App Engine
This is Rietveld 408576698