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

Issue 7326012: Split single slots buffer into per page slots buffers. (Closed)

Created:
9 years, 5 months ago by Vyacheslav Egorov (Chromium)
Modified:
9 years, 5 months ago
Reviewers:
Erik Corry
CC:
v8-dev
Visibility:
Public.

Description

Split single slots buffer into per page slots buffers. Once page's slots buffer overflows it's evacuation is disabled. And CPU::FlushICache to RecordWriteStub::Patch to make it valgrind friendly. Don't try to compact the first page of space. It is usually extremely popular. R=erik.corry@gmail.com Committed: http://code.google.com/p/v8/source/detail?r=8582

Patch Set 1 #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+309 lines, -108 lines) Patch
M src/ia32/code-stubs-ia32.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/mark-compact.h View 4 chunks +111 lines, -17 lines 3 comments Download
M src/mark-compact.cc View 13 chunks +147 lines, -70 lines 1 comment Download
M src/spaces.h View 8 chunks +43 lines, -18 lines 0 comments Download
M src/spaces.cc View 3 chunks +5 lines, -2 lines 0 comments Download
M src/x64/code-stubs-x64.h View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 2 (0 generated)
Vyacheslav Egorov (Chromium)
9 years, 5 months ago (2011-07-08 12:37:11 UTC) #1
Erik Corry
9 years, 5 months ago (2011-07-08 13:02:38 UTC) #2
LGTM

http://codereview.chromium.org/7326012/diff/1/src/mark-compact.cc
File src/mark-compact.cc (right):

http://codereview.chromium.org/7326012/diff/1/src/mark-compact.cc#newcode3180
src/mark-compact.cc:3180: SlotsBuffer* buffer = reinterpret_cast<SlotsBuffer*>(
This could just be new SlotsBuffer().

http://codereview.chromium.org/7326012/diff/1/src/mark-compact.h
File src/mark-compact.h (right):

http://codereview.chromium.org/7326012/diff/1/src/mark-compact.h#newcode283
src/mark-compact.h:283: SlotsBuffer() { UNREACHABLE(); }
I think you should use DISALLOW_IMPLICIT_CONSTRUCTORS instead.

http://codereview.chromium.org/7326012/diff/1/src/mark-compact.h#newcode353
src/mark-compact.h:353: return reinterpret_cast<ObjectSlot*>(this + 1);
This casting seems unnecessary.  You could just have an array as a member of the
class.  Then you could allocate with new

http://codereview.chromium.org/7326012/diff/1/src/mark-compact.h#newcode485
src/mark-compact.h:485: if (object_page->owner()->identity() == OLD_DATA_SPACE)
{
Comment required!

Powered by Google App Engine
This is Rietveld 408576698