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

Issue 9179012: Reduce boot-up memory use of V8. (Closed)

Created:
8 years, 11 months ago by Erik Corry
Modified:
8 years, 11 months ago
CC:
v8-dev
Visibility:
Public.

Description

Reduce boot-up memory use of V8. Reduce signal sender thread stack size to 32k. Commit partial old-space pages to reduce minimum memory use. This is a rebase of http://codereview.chromium.org/9017009/ Committed: http://code.google.com/p/v8/source/detail?r=10413

Patch Set 1 #

Total comments: 22
Unified diffs Side-by-side diffs Delta from patch set Stats (+481 lines, -270 lines) Patch
M src/cpu-profiler.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/d8.cc View 2 chunks +5 lines, -5 lines 0 comments Download
M src/deoptimizer.cc View 1 chunk +1 line, -0 lines 0 comments Download
M src/heap.cc View 3 chunks +16 lines, -1 line 0 comments Download
M src/heap-inl.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/incremental-marking.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/mark-compact.cc View 7 chunks +14 lines, -11 lines 0 comments Download
M src/platform.h View 1 chunk +11 lines, -5 lines 0 comments Download
M src/platform-freebsd.cc View 2 chunks +5 lines, -10 lines 0 comments Download
M src/platform-linux.cc View 2 chunks +5 lines, -10 lines 0 comments Download
M src/platform-macos.cc View 2 chunks +7 lines, -10 lines 0 comments Download
M src/platform-openbsd.cc View 2 chunks +5 lines, -10 lines 0 comments Download
M src/platform-solaris.cc View 2 chunks +6 lines, -10 lines 0 comments Download
M src/platform-win32.cc View 2 chunks +5 lines, -10 lines 0 comments Download
M src/serialize.cc View 2 chunks +7 lines, -1 line 0 comments Download
M src/snapshot.h View 2 chunks +16 lines, -0 lines 0 comments Download
M src/spaces.h View 19 chunks +47 lines, -40 lines 4 comments Download
M src/spaces.cc View 31 chunks +258 lines, -88 lines 16 comments Download
M src/spaces-inl.h View 2 chunks +6 lines, -5 lines 2 comments Download
M src/store-buffer.cc View 2 chunks +40 lines, -36 lines 0 comments Download
M src/utils.h View 2 chunks +4 lines, -6 lines 0 comments Download
M test/cctest/test-heap.cc View 1 chunk +2 lines, -5 lines 0 comments Download
M test/cctest/test-mark-compact.cc View 1 chunk +14 lines, -1 line 0 comments Download
M test/cctest/test-spaces.cc View 2 chunks +4 lines, -3 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Erik Corry
8 years, 11 months ago (2012-01-16 15:36:05 UTC) #1
Vyacheslav Egorov (Chromium)
lgtm http://codereview.chromium.org/9179012/diff/1/src/spaces-inl.h File src/spaces-inl.h (right): http://codereview.chromium.org/9179012/diff/1/src/spaces-inl.h#newcode260 src/spaces-inl.h:260: ASSERT(new_top >= Page::FromAddress(new_top - 1)->ObjectAreaStart()); FromAllocationTop instead of ...
8 years, 11 months ago (2012-01-16 17:02:54 UTC) #2
Vyacheslav Egorov (Chromium)
more comments http://codereview.chromium.org/9179012/diff/1/src/spaces.cc File src/spaces.cc (right): http://codereview.chromium.org/9179012/diff/1/src/spaces.cc#newcode411 src/spaces.cc:411: uintptr_t end_int = old_end - ObjectAreaStart(); variable ...
8 years, 11 months ago (2012-01-16 17:20:53 UTC) #3
Erik Corry
http://codereview.chromium.org/9179012/diff/1/src/spaces.cc File src/spaces.cc (right): http://codereview.chromium.org/9179012/diff/1/src/spaces.cc#newcode1972 src/spaces.cc:1972: cur = (*cur) == NULL ? cur : (*cur)->next_address()) ...
8 years, 11 months ago (2012-01-17 07:48:12 UTC) #4
Erik Corry
8 years, 11 months ago (2012-01-17 11:37:22 UTC) #5
http://codereview.chromium.org/9179012/diff/1/src/spaces-inl.h
File src/spaces-inl.h (right):

http://codereview.chromium.org/9179012/diff/1/src/spaces-inl.h#newcode260
src/spaces-inl.h:260: ASSERT(new_top >= Page::FromAddress(new_top -
1)->ObjectAreaStart());
On 2012/01/16 17:02:54, Vyacheslav Egorov wrote:
> FromAllocationTop instead of FromAddress

Done.

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

http://codereview.chromium.org/9179012/diff/1/src/spaces.cc#newcode410
src/spaces.cc:410: // alignment.
On 2012/01/16 17:02:54, Vyacheslav Egorov wrote:
> Code below does not mention map space at all and is generic.

Done.

http://codereview.chromium.org/9179012/diff/1/src/spaces.cc#newcode411
src/spaces.cc:411: uintptr_t end_int = old_end - ObjectAreaStart();
On 2012/01/16 17:20:53, Vyacheslav Egorov wrote:
> variable name is wrong. it's size, not end.

Done.

http://codereview.chromium.org/9179012/diff/1/src/spaces.cc#newcode412
src/spaces.cc:412: uintptr_t aligned_end_int =
On 2012/01/16 17:20:53, Vyacheslav Egorov wrote:
> ditto

Done.

http://codereview.chromium.org/9179012/diff/1/src/spaces.cc#newcode414
src/spaces.cc:414: if (aligned_end_int < end_int) {
On 2012/01/16 17:20:53, Vyacheslav Egorov wrote:
> != instead of < for readability

Done.

http://codereview.chromium.org/9179012/diff/1/src/spaces.cc#newcode419
src/spaces.cc:419: // This will waste the space for one map per doubling of the
page size until
On 2012/01/16 17:02:54, Vyacheslav Egorov wrote:
> Code is generic and does not reference map space directly.

Done.

http://codereview.chromium.org/9179012/diff/1/src/spaces.cc#newcode602
src/spaces.cc:602: Page* MemoryAllocator::AllocatePage(intptr_t
object_area_size,
On 2012/01/16 17:02:54, Vyacheslav Egorov wrote:
> object_area_size should really be comitted_object_area_size

Done.

http://codereview.chromium.org/9179012/diff/1/src/spaces.cc#newcode823
src/spaces.cc:823: reserved_page_size - last_page->size() >= size_in_bytes &&
On 2012/01/16 17:02:54, Vyacheslav Egorov wrote:
> I feel uncomfortable when arithmetic expression is not enclosed in parens in
> comparison. 

Done.

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

http://codereview.chromium.org/9179012/diff/1/src/spaces.h#newcode1504
src/spaces.h:1504: virtual int ObjectAlignment() { return kPointerSize; }
On 2012/01/16 17:02:54, Vyacheslav Egorov wrote:
> kObjectAlignment instead of kPointerSize?

Done.

http://codereview.chromium.org/9179012/diff/1/src/spaces.h#newcode2378
src/spaces.h:2378: virtual int ObjectAlignment() { return object_size_in_bytes_;
}
On 2012/01/16 17:02:54, Vyacheslav Egorov wrote:
> for this to be object alignment we have to guarantee that start of object area
> is appropriately aligned. are we at least asserting that?

No, the alignment is relative to the ObjectAreaStart at the moment.

Powered by Google App Engine
This is Rietveld 408576698