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

Issue 6250076: Start using store buffers. Handle store buffer overflow situation.... (Closed)

Created:
9 years, 10 months ago by Erik Corry
Modified:
9 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

Start using store buffers. Handle store buffer overflow situation. Only on Intel architectures at the moment. Committed: http://code.google.com/p/v8/source/detail?r=6616

Patch Set 1 #

Total comments: 20
Unified diffs Side-by-side diffs Delta from patch set Stats (+316 lines, -472 lines) Patch
M src/heap.h View 3 chunks +14 lines, -52 lines 0 comments Download
M src/heap.cc View 19 chunks +75 lines, -117 lines 8 comments Download
M src/heap-inl.h View 2 chunks +8 lines, -2 lines 4 comments Download
M src/mark-compact.cc View 10 chunks +38 lines, -38 lines 4 comments Download
M src/objects-inl.h View 1 chunk +0 lines, -4 lines 2 comments Download
M src/spaces.h View 5 chunks +17 lines, -99 lines 0 comments Download
M src/spaces.cc View 6 chunks +4 lines, -14 lines 0 comments Download
M src/spaces-inl.h View 3 chunks +1 line, -124 lines 0 comments Download
M src/store-buffer.h View 5 chunks +72 lines, -3 lines 2 comments Download
M src/store-buffer.cc View 7 chunks +71 lines, -12 lines 0 comments Download
M src/store-buffer-inl.h View 1 chunk +15 lines, -0 lines 0 comments Download
M src/v8globals.h View 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/test-heap.cc View 1 chunk +0 lines, -6 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Erik Corry
9 years, 10 months ago (2011-02-01 13:49:33 UTC) #1
Vyacheslav Egorov (Chromium)
LGTM http://codereview.chromium.org/6250076/diff/1/src/heap-inl.h File src/heap-inl.h (right): http://codereview.chromium.org/6250076/diff/1/src/heap-inl.h#newcode344 src/heap-inl.h:344: Memory::Object_at(dst) = data; revert please http://codereview.chromium.org/6250076/diff/1/src/heap-inl.h#newcode393 src/heap-inl.h:393: Address ...
9 years, 10 months ago (2011-02-02 13:15:47 UTC) #2
Erik Corry
9 years, 10 months ago (2011-02-03 13:21:17 UTC) #3
http://codereview.chromium.org/6250076/diff/1/src/heap-inl.h
File src/heap-inl.h (right):

http://codereview.chromium.org/6250076/diff/1/src/heap-inl.h#newcode344
src/heap-inl.h:344: Memory::Object_at(dst) = data;
On 2011/02/02 13:15:47, Vyacheslav Egorov wrote:
> revert please

Done.

http://codereview.chromium.org/6250076/diff/1/src/heap-inl.h#newcode393
src/heap-inl.h:393: Address cell = reinterpret_cast<Address>(p);
On 2011/02/02 13:15:47, Vyacheslav Egorov wrote:
> cell is a bit confusing cause we have cell_space and cells.
> 
> I usually call them slots.

Done.

http://codereview.chromium.org/6250076/diff/1/src/heap.cc
File src/heap.cc (right):

http://codereview.chromium.org/6250076/diff/1/src/heap.cc#newcode642
src/heap.cc:642: PageIterator it(space, PageIterator::PAGES_IN_USE);
On 2011/02/02 13:15:47, Vyacheslav Egorov wrote:
> indentation

Done.

http://codereview.chromium.org/6250076/diff/1/src/heap.cc#newcode3903
src/heap.cc:3903: static void VerifyPointersUnderWatermark(
On 2011/02/02 13:15:47, Vyacheslav Egorov wrote:
> Why we have function that does not do anything?

Function restored.

http://codereview.chromium.org/6250076/diff/1/src/heap.cc#newcode4113
src/heap.cc:4113: 
On 2011/02/02 13:15:47, Vyacheslav Egorov wrote:
> If you are not using region marks -> your start and end probably always
aligned
> to map size so you can get read of all this complicated misalignment handling.

Done.

http://codereview.chromium.org/6250076/diff/1/src/heap.cc#newcode4133
src/heap.cc:4133: pointer_fields_end,
On 2011/02/02 13:15:47, Vyacheslav Egorov wrote:
> indent

Done.

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

http://codereview.chromium.org/6250076/diff/1/src/mark-compact.cc#newcode105
src/mark-compact.cc:105: SweepLargeObjectSpace();
On 2011/02/02 13:15:47, Vyacheslav Egorov wrote:
> You can now move SweepLargeObjectSpace into SweepSpaces. and probably
eliminate
> it entirely. Just call FreeUnmarkedObjects() directly.

Done.

http://codereview.chromium.org/6250076/diff/1/src/mark-compact.cc#newcode419
src/mark-compact.cc:419: // substring when page dirty marks do not change. 
TODO(gc): Seems like we
On 2011/02/02 13:15:47, Vyacheslav Egorov wrote:
> move todo to the new line

Done.

http://codereview.chromium.org/6250076/diff/1/src/objects-inl.h
File src/objects-inl.h (left):

http://codereview.chromium.org/6250076/diff/1/src/objects-inl.h#oldcode805
src/objects-inl.h:805: ASSERT(Heap::InNewSpace(object) || \
On 2011/02/02 13:15:47, Vyacheslav Egorov wrote:
> I there a way to rewrite this assertion to check that store buffer contains
this
> slot?

I brought back the assert but hid it behind a --enable-slow-asserts

http://codereview.chromium.org/6250076/diff/1/src/store-buffer.h
File src/store-buffer.h (right):

http://codereview.chromium.org/6250076/diff/1/src/store-buffer.h#newcode69
src/store-buffer.h:69: kPreserveStoreBufferWhileIterating};
On 2011/02/02 13:15:47, Vyacheslav Egorov wrote:
> new line + indent closing }

Forgot this one :-(

Powered by Google App Engine
This is Rietveld 408576698