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

Issue 2013713003: [heap] Switch to 500k pages (Closed)

Created:
4 years, 7 months ago by Michael Lippautz
Modified:
4 years, 4 months ago
CC:
v8-reviews_googlegroups.com, Hannes Payer (out of office), ulan
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[heap] Switch to 500k pages - Decrease regular heap object size to 300k, keeping the same ration (60%) between this limit and page size. In a follow up, we can now get rid of the new space border page while keeping the 1M minimum new space size. Some results (v8.infinite_scroll; 3 runs): - evacuate.avg: +15.3% (1.4->1.2) - evacuate.max: +24.4% (2.4->1.8) BUG=chromium:581412 LOG=N R=hpayer@chromium.org, ulan@chromium.org, yangguo@chromium.org Committed: https://crrev.com/ffe5c670e1559d11e7b252e15fec38765e7dbe4f Cr-Commit-Position: refs/heads/master@{#38533}

Patch Set 1 #

Patch Set 2 : Fix initial semispace size #

Patch Set 3 : Rebase #

Patch Set 4 : Switch fragmentation heuristics from page size to absolute values #

Patch Set 5 : Fix test #

Patch Set 6 : Fix initial page sizes #

Patch Set 7 : Fix tests #

Patch Set 8 : Adjust target compaction time #

Patch Set 9 : Fix TestAlignedOverAllocation #

Patch Set 10 : Fix ReleaseOverReservedPages #

Patch Set 11 : Updating the constant used for determining wanted tasks #

Total comments: 2

Patch Set 12 : Addressed comment + small allowance for OLD_SPACE. #

Patch Set 13 : Fix compilation on Win #

Patch Set 14 : Fix ReleaseOverReservedPages for no snapshot builds #

Total comments: 10

Patch Set 15 : Shrink pages after deserializaton #

Patch Set 16 : Remove logic for first page from snapshots #

Patch Set 17 : rebase #

Patch Set 18 : Fix HeapObjectIterator #

Patch Set 19 : Use page->area_size() in ReleasePage #

Patch Set 20 : Addressed comment: Fix the filler pointing to area and on a page that is shrinked #

Patch Set 21 : Fix compilation on Windows #

Total comments: 6

Patch Set 22 : Addressed comments and prohibit immportal pages from being swept #

Patch Set 23 : Find filler by iterating instead of using high water mark #

Patch Set 24 : Disable ReleaseOverReservedPages when no snapshot is available #

Unified diffs Side-by-side diffs Delta from patch set Stats (+120 lines, -118 lines) Patch
M src/base/build_config.h View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M src/heap/heap.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +6 lines, -4 lines 0 comments Download
M src/heap/mark-compact.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 22 3 chunks +4 lines, -4 lines 0 comments Download
M src/heap/spaces.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 22 3 chunks +7 lines, -1 line 0 comments Download
M src/heap/spaces.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 4 chunks +55 lines, -8 lines 0 comments Download
M src/objects.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +3 lines, -2 lines 0 comments Download
M src/snapshot/snapshot.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +4 lines, -12 lines 0 comments Download
M src/snapshot/snapshot-common.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 4 chunks +3 lines, -67 lines 0 comments Download
M test/cctest/heap/test-heap.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 3 chunks +17 lines, -7 lines 0 comments Download
M test/cctest/heap/test-spaces.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +16 lines, -8 lines 0 comments Download
M test/cctest/test-serialize.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 22 2 chunks +4 lines, -4 lines 0 comments Download

Messages

Total messages: 83 (68 generated)
Michael Lippautz
ptal (still fixing tests)
4 years, 4 months ago (2016-08-02 12:03:30 UTC) #22
Michael Lippautz
It's ready now.
4 years, 4 months ago (2016-08-03 10:26:35 UTC) #30
ulan
lgtm https://codereview.chromium.org/2013713003/diff/440001/src/heap/spaces.cc File src/heap/spaces.cc (right): https://codereview.chromium.org/2013713003/diff/440001/src/heap/spaces.cc#newcode1231 src/heap/spaces.cc:1231: if (needed / area_size > 0) return area_size; ...
4 years, 4 months ago (2016-08-03 10:31:51 UTC) #31
Michael Lippautz
https://codereview.chromium.org/2013713003/diff/440001/src/heap/spaces.cc File src/heap/spaces.cc (right): https://codereview.chromium.org/2013713003/diff/440001/src/heap/spaces.cc#newcode1231 src/heap/spaces.cc:1231: if (needed / area_size > 0) return area_size; On ...
4 years, 4 months ago (2016-08-04 08:43:57 UTC) #36
Hannes Payer (out of office)
Cool stuff! Some comments. https://codereview.chromium.org/2013713003/diff/520001/src/base/build_config.h File src/base/build_config.h (right): https://codereview.chromium.org/2013713003/diff/520001/src/base/build_config.h#newcode203 src/base/build_config.h:203: const int kPageSizeBits = 19; ...
4 years, 4 months ago (2016-08-08 16:25:03 UTC) #49
Michael Lippautz
+Yang PTAL: We now shrink the pages after deserialization the isolate snapshot. I would like ...
4 years, 4 months ago (2016-08-09 11:30:26 UTC) #61
Yang
some nits. otherwise lgtm. https://codereview.chromium.org/2013713003/diff/700001/src/snapshot/snapshot.h File src/snapshot/snapshot.h (right): https://codereview.chromium.org/2013713003/diff/700001/src/snapshot/snapshot.h#newcode88 src/snapshot/snapshot.h:88: // [6] number of contexts ...
4 years, 4 months ago (2016-08-09 13:26:29 UTC) #63
Yang
https://codereview.chromium.org/2013713003/diff/700001/src/snapshot/snapshot-common.cc File src/snapshot/snapshot-common.cc (left): https://codereview.chromium.org/2013713003/diff/700001/src/snapshot/snapshot-common.cc#oldcode120 src/snapshot/snapshot-common.cc:120: for (const auto& reservation : context_snapshots->at(i)->Reservations()) { Can we ...
4 years, 4 months ago (2016-08-09 13:34:35 UTC) #64
Michael Lippautz
https://codereview.chromium.org/2013713003/diff/700001/src/snapshot/snapshot-common.cc File src/snapshot/snapshot-common.cc (left): https://codereview.chromium.org/2013713003/diff/700001/src/snapshot/snapshot-common.cc#oldcode120 src/snapshot/snapshot-common.cc:120: for (const auto& reservation : context_snapshots->at(i)->Reservations()) { On 2016/08/09 ...
4 years, 4 months ago (2016-08-09 13:55:32 UTC) #65
Yang
On 2016/08/09 13:55:32, Michael Lippautz wrote: > https://codereview.chromium.org/2013713003/diff/700001/src/snapshot/snapshot-common.cc > File src/snapshot/snapshot-common.cc (left): > > https://codereview.chromium.org/2013713003/diff/700001/src/snapshot/snapshot-common.cc#oldcode120 ...
4 years, 4 months ago (2016-08-10 05:30:58 UTC) #66
Hannes Payer (out of office)
lgtm
4 years, 4 months ago (2016-08-10 11:40:29 UTC) #74
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2013713003/780001
4 years, 4 months ago (2016-08-10 11:43:48 UTC) #78
commit-bot: I haz the power
Committed patchset #24 (id:780001)
4 years, 4 months ago (2016-08-10 11:45:28 UTC) #80
commit-bot: I haz the power
Patchset 24 (id:??) landed as https://crrev.com/ffe5c670e1559d11e7b252e15fec38765e7dbe4f Cr-Commit-Position: refs/heads/master@{#38533}
4 years, 4 months ago (2016-08-10 11:45:40 UTC) #82
Michael Lippautz
4 years, 4 months ago (2016-08-10 12:12:29 UTC) #83
Message was sent while issue was closed.
A revert of this CL (patchset #24 id:780001) has been created in
https://codereview.chromium.org/2229403003/ by mlippautz@chromium.org.

The reason for reverting is: Failures on waterfall:

e.g.
http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/11134.

Powered by Google App Engine
This is Rietveld 408576698