New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 636331 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Feature

Blocked on:
issue 637279
issue 641267
issue 641270
issue 641878

Blocking:
issue 581412



Sign in to add a comment

Reduce page size in V8

Project Member Reported by mlippautz@chromium.org, Aug 10 2016

Issue description

Tracking bug for reducing the page size and getting rid of the border page.
 
Blocking: 581412
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/09e7c01b3139c1fa4ea45995a3b7b4a46b348efd

commit 09e7c01b3139c1fa4ea45995a3b7b4a46b348efd
Author: mlippautz <mlippautz@chromium.org>
Date: Wed Aug 10 15:57:45 2016

[heap] Fix LAB tests

Let's not write out of bounds here.

R=hpayer@chromium.org
BUG= chromium:636331 

Review-Url: https://codereview.chromium.org/2237473002
Cr-Commit-Position: refs/heads/master@{#38547}

[modify] https://crrev.com/09e7c01b3139c1fa4ea45995a3b7b4a46b348efd/test/cctest/heap/test-lab.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Aug 12 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/20e2ea80e169e85c5b8231adc02901fb6c989609

commit 20e2ea80e169e85c5b8231adc02901fb6c989609
Author: mlippautz <mlippautz@chromium.org>
Date: Fri Aug 12 11:06:51 2016

Reland of "[heap] Switch to 500k pages"

Decrease regular heap object size to 400k. In a follow up, we can now get rid of
the new space border page while keeping the 1M minimum new space size.

BUG= chromium:636331 

This reverts commit 555c961990088d545e2b475da3872bd63fa27569.

Review-Url: https://codereview.chromium.org/2232653003
Cr-Commit-Position: refs/heads/master@{#38608}

[modify] https://crrev.com/20e2ea80e169e85c5b8231adc02901fb6c989609/src/base/build_config.h
[modify] https://crrev.com/20e2ea80e169e85c5b8231adc02901fb6c989609/src/heap/heap.cc
[modify] https://crrev.com/20e2ea80e169e85c5b8231adc02901fb6c989609/src/heap/mark-compact.cc
[modify] https://crrev.com/20e2ea80e169e85c5b8231adc02901fb6c989609/src/heap/spaces.cc
[modify] https://crrev.com/20e2ea80e169e85c5b8231adc02901fb6c989609/src/heap/spaces.h
[modify] https://crrev.com/20e2ea80e169e85c5b8231adc02901fb6c989609/src/isolate.cc
[modify] https://crrev.com/20e2ea80e169e85c5b8231adc02901fb6c989609/src/objects.h
[modify] https://crrev.com/20e2ea80e169e85c5b8231adc02901fb6c989609/src/snapshot/snapshot-common.cc
[modify] https://crrev.com/20e2ea80e169e85c5b8231adc02901fb6c989609/src/snapshot/snapshot.h
[modify] https://crrev.com/20e2ea80e169e85c5b8231adc02901fb6c989609/test/cctest/heap/heap-utils.cc
[modify] https://crrev.com/20e2ea80e169e85c5b8231adc02901fb6c989609/test/cctest/heap/heap-utils.h
[modify] https://crrev.com/20e2ea80e169e85c5b8231adc02901fb6c989609/test/cctest/heap/test-heap.cc
[modify] https://crrev.com/20e2ea80e169e85c5b8231adc02901fb6c989609/test/cctest/heap/test-spaces.cc
[modify] https://crrev.com/20e2ea80e169e85c5b8231adc02901fb6c989609/test/cctest/test-serialize.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Aug 12 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/1617043c1093870d67eede7828467cc3b77ba9fb

commit 1617043c1093870d67eede7828467cc3b77ba9fb
Author: mlippautz <mlippautz@chromium.org>
Date: Fri Aug 12 11:42:24 2016

Revert of "[heap] Switch to 500k pages" (patchset #11 id:220001 of https://codereview.chromium.org/2232653003/ )

Reason for revert:
Breaks benchmark with --turbo on avx2

https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20avx2/builds/9895

Original issue's description:
> Reland of "[heap] Switch to 500k pages"
>
> Decrease regular heap object size to 400k. In a follow up, we can now get rid of
> the new space border page while keeping the 1M minimum new space size.
>
> BUG= chromium:636331 
>
> This reverts commit 555c961990088d545e2b475da3872bd63fa27569.
>
> Committed: https://crrev.com/20e2ea80e169e85c5b8231adc02901fb6c989609
> Cr-Commit-Position: refs/heads/master@{#38608}

TBR=hpayer@chromium.org,yangguo@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= chromium:636331 

Review-Url: https://codereview.chromium.org/2239323002
Cr-Commit-Position: refs/heads/master@{#38613}

[modify] https://crrev.com/1617043c1093870d67eede7828467cc3b77ba9fb/src/base/build_config.h
[modify] https://crrev.com/1617043c1093870d67eede7828467cc3b77ba9fb/src/heap/heap.cc
[modify] https://crrev.com/1617043c1093870d67eede7828467cc3b77ba9fb/src/heap/mark-compact.cc
[modify] https://crrev.com/1617043c1093870d67eede7828467cc3b77ba9fb/src/heap/spaces.cc
[modify] https://crrev.com/1617043c1093870d67eede7828467cc3b77ba9fb/src/heap/spaces.h
[modify] https://crrev.com/1617043c1093870d67eede7828467cc3b77ba9fb/src/isolate.cc
[modify] https://crrev.com/1617043c1093870d67eede7828467cc3b77ba9fb/src/objects.h
[modify] https://crrev.com/1617043c1093870d67eede7828467cc3b77ba9fb/src/snapshot/snapshot-common.cc
[modify] https://crrev.com/1617043c1093870d67eede7828467cc3b77ba9fb/src/snapshot/snapshot.h
[modify] https://crrev.com/1617043c1093870d67eede7828467cc3b77ba9fb/test/cctest/heap/heap-utils.cc
[modify] https://crrev.com/1617043c1093870d67eede7828467cc3b77ba9fb/test/cctest/heap/heap-utils.h
[modify] https://crrev.com/1617043c1093870d67eede7828467cc3b77ba9fb/test/cctest/heap/test-heap.cc
[modify] https://crrev.com/1617043c1093870d67eede7828467cc3b77ba9fb/test/cctest/heap/test-spaces.cc
[modify] https://crrev.com/1617043c1093870d67eede7828467cc3b77ba9fb/test/cctest/test-serialize.cc

Blockedon: 637279
Project Member

Comment 6 by bugdroid1@chromium.org, Aug 25 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/2101e691caeef656eb91f1c98620b3955d337c83

commit 2101e691caeef656eb91f1c98620b3955d337c83
Author: mlippautz <mlippautz@chromium.org>
Date: Thu Aug 25 16:26:00 2016

[heap] Switch to 500k pages

Decrease regular heap object size to 400k. In a follow up, we can now get rid of
the new space border page while keeping the 1M minimum new space size.

This reverts commit 1617043c1093870d67eede7828467cc3b77ba9fb.

BUG= chromium:636331 

Review-Url: https://codereview.chromium.org/2278653003
Cr-Commit-Position: refs/heads/master@{#38916}

[modify] https://crrev.com/2101e691caeef656eb91f1c98620b3955d337c83/src/base/build_config.h
[modify] https://crrev.com/2101e691caeef656eb91f1c98620b3955d337c83/src/heap/heap.cc
[modify] https://crrev.com/2101e691caeef656eb91f1c98620b3955d337c83/src/heap/mark-compact.cc
[modify] https://crrev.com/2101e691caeef656eb91f1c98620b3955d337c83/src/heap/spaces.cc
[modify] https://crrev.com/2101e691caeef656eb91f1c98620b3955d337c83/src/heap/spaces.h
[modify] https://crrev.com/2101e691caeef656eb91f1c98620b3955d337c83/src/isolate.cc
[modify] https://crrev.com/2101e691caeef656eb91f1c98620b3955d337c83/src/objects.h
[modify] https://crrev.com/2101e691caeef656eb91f1c98620b3955d337c83/src/snapshot/snapshot-common.cc
[modify] https://crrev.com/2101e691caeef656eb91f1c98620b3955d337c83/src/snapshot/snapshot.h
[modify] https://crrev.com/2101e691caeef656eb91f1c98620b3955d337c83/test/cctest/heap/heap-utils.cc
[modify] https://crrev.com/2101e691caeef656eb91f1c98620b3955d337c83/test/cctest/heap/heap-utils.h
[modify] https://crrev.com/2101e691caeef656eb91f1c98620b3955d337c83/test/cctest/heap/test-heap.cc
[modify] https://crrev.com/2101e691caeef656eb91f1c98620b3955d337c83/test/cctest/heap/test-spaces.cc
[modify] https://crrev.com/2101e691caeef656eb91f1c98620b3955d337c83/test/cctest/test-serialize.cc

Blockedon: 641267
Blockedon: 641270
Thanks. There are also other regressions. Will have a detailed look on Monday.
Project Member

Comment 11 by bugdroid1@chromium.org, Aug 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/933195a24c08ed373397c083191a7a5d7f93f7c8

commit 933195a24c08ed373397c083191a7a5d7f93f7c8
Author: mlippautz <mlippautz@chromium.org>
Date: Sun Aug 28 07:28:14 2016

Revert of "[heap] Switch to 500k pages" (patchset #1 id:1 of https://codereview.chromium.org/2278653003/ )

Reason for revert:
Tanks pretty much alle metrics across the board. Probably LO space limit too low but needs investigation.

Original issue's description:
> [heap] Switch to 500k pages
>
> Decrease regular heap object size to 400k. In a follow up, we can now get rid of
> the new space border page while keeping the 1M minimum new space size.
>
> This reverts commit 1617043c1093870d67eede7828467cc3b77ba9fb.
>
> BUG= chromium:636331 
>
> Committed: https://crrev.com/2101e691caeef656eb91f1c98620b3955d337c83
> Cr-Commit-Position: refs/heads/master@{#38916}

TBR=ulan@chromium.org,verwaest@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG= chromium:636331 
NOPRESUBMIT=true

Review-Url: https://codereview.chromium.org/2289493002
Cr-Commit-Position: refs/heads/master@{#38960}

[modify] https://crrev.com/933195a24c08ed373397c083191a7a5d7f93f7c8/src/base/build_config.h
[modify] https://crrev.com/933195a24c08ed373397c083191a7a5d7f93f7c8/src/heap/heap.cc
[modify] https://crrev.com/933195a24c08ed373397c083191a7a5d7f93f7c8/src/heap/mark-compact.cc
[modify] https://crrev.com/933195a24c08ed373397c083191a7a5d7f93f7c8/src/heap/spaces.cc
[modify] https://crrev.com/933195a24c08ed373397c083191a7a5d7f93f7c8/src/heap/spaces.h
[modify] https://crrev.com/933195a24c08ed373397c083191a7a5d7f93f7c8/src/isolate.cc
[modify] https://crrev.com/933195a24c08ed373397c083191a7a5d7f93f7c8/src/objects.h
[modify] https://crrev.com/933195a24c08ed373397c083191a7a5d7f93f7c8/src/snapshot/snapshot-common.cc
[modify] https://crrev.com/933195a24c08ed373397c083191a7a5d7f93f7c8/src/snapshot/snapshot.h
[modify] https://crrev.com/933195a24c08ed373397c083191a7a5d7f93f7c8/test/cctest/heap/heap-utils.cc
[modify] https://crrev.com/933195a24c08ed373397c083191a7a5d7f93f7c8/test/cctest/heap/heap-utils.h
[modify] https://crrev.com/933195a24c08ed373397c083191a7a5d7f93f7c8/test/cctest/heap/test-heap.cc
[modify] https://crrev.com/933195a24c08ed373397c083191a7a5d7f93f7c8/test/cctest/heap/test-spaces.cc
[modify] https://crrev.com/933195a24c08ed373397c083191a7a5d7f93f7c8/test/cctest/test-serialize.cc

Blockedon: 641878
Project Member

Comment 14 by bugdroid1@chromium.org, Sep 6 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/ed8791ea65ea1f37520a5ef71b3ae10150329ed3

commit ed8791ea65ea1f37520a5ef71b3ae10150329ed3
Author: mlippautz <mlippautz@chromium.org>
Date: Tue Sep 06 11:02:21 2016

[heap,snapshot] Replace first page size from snapshots with page trimming

Replace first page size in the snapshots with a heap logic that trims pages
after deserialization. The snapshot provided page sizes was just an
approximation, while the heap knows exactly where to trim.

Furthermore, trim the pages directly after deserialization, leaving no wiggle
room for further objects. This avoids pollution of the immortal immovable pages
with regular objects, e.g. Contexts. The downside is that we potentially require
expanding the space with a new page.

BUG= chromium:636331 

Review-Url: https://codereview.chromium.org/2311963002
Cr-Commit-Position: refs/heads/master@{#39200}

[modify] https://crrev.com/ed8791ea65ea1f37520a5ef71b3ae10150329ed3/src/heap/heap.cc
[modify] https://crrev.com/ed8791ea65ea1f37520a5ef71b3ae10150329ed3/src/heap/spaces.cc
[modify] https://crrev.com/ed8791ea65ea1f37520a5ef71b3ae10150329ed3/src/heap/spaces.h
[modify] https://crrev.com/ed8791ea65ea1f37520a5ef71b3ae10150329ed3/src/isolate.cc
[modify] https://crrev.com/ed8791ea65ea1f37520a5ef71b3ae10150329ed3/src/objects.h
[modify] https://crrev.com/ed8791ea65ea1f37520a5ef71b3ae10150329ed3/src/snapshot/snapshot-common.cc
[modify] https://crrev.com/ed8791ea65ea1f37520a5ef71b3ae10150329ed3/src/snapshot/snapshot.h
[modify] https://crrev.com/ed8791ea65ea1f37520a5ef71b3ae10150329ed3/test/cctest/heap/heap-utils.cc
[modify] https://crrev.com/ed8791ea65ea1f37520a5ef71b3ae10150329ed3/test/cctest/heap/heap-utils.h
[modify] https://crrev.com/ed8791ea65ea1f37520a5ef71b3ae10150329ed3/test/cctest/heap/test-heap.cc
[modify] https://crrev.com/ed8791ea65ea1f37520a5ef71b3ae10150329ed3/test/cctest/heap/test-spaces.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Sep 7 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/332bd5e94c7b70d1d74d6ce1e9f86fee278740f6

commit 332bd5e94c7b70d1d74d6ce1e9f86fee278740f6
Author: machenbach <machenbach@chromium.org>
Date: Wed Sep 07 06:31:53 2016

Revert of [heap] Switch to 500k pages (patchset #5 id:80001 of https://codereview.chromium.org/2314803002/ )

Reason for revert:
Breaks arm64 nosnap debug:
https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug/builds/2178

Original issue's description:
> [heap] Switch to 500k pages
>
> BUG= chromium:636331 
> R=ulan@chromium.org
>
> Committed: https://crrev.com/4b618dbf8ec7f0edf377b54b48bf3c852d5e235a
> Cr-Commit-Position: refs/heads/master@{#39220}

TBR=ulan@chromium.org,mlippautz@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= chromium:636331 

Review-Url: https://codereview.chromium.org/2312853005
Cr-Commit-Position: refs/heads/master@{#39229}

[modify] https://crrev.com/332bd5e94c7b70d1d74d6ce1e9f86fee278740f6/src/base/build_config.h
[modify] https://crrev.com/332bd5e94c7b70d1d74d6ce1e9f86fee278740f6/src/globals.h
[modify] https://crrev.com/332bd5e94c7b70d1d74d6ce1e9f86fee278740f6/src/heap/heap.cc
[modify] https://crrev.com/332bd5e94c7b70d1d74d6ce1e9f86fee278740f6/src/heap/mark-compact.cc
[modify] https://crrev.com/332bd5e94c7b70d1d74d6ce1e9f86fee278740f6/src/heap/spaces.h
[modify] https://crrev.com/332bd5e94c7b70d1d74d6ce1e9f86fee278740f6/test/cctest/heap/test-heap.cc
[modify] https://crrev.com/332bd5e94c7b70d1d74d6ce1e9f86fee278740f6/test/cctest/heap/test-mark-compact.cc

Comment 20 by u...@chromium.org, Sep 19 2016

Issue 647608 has been merged into this issue.

Comment 21 by u...@chromium.org, Sep 19 2016

Issue 647647 has been merged into this issue.

Comment 22 by u...@chromium.org, Sep 20 2016

Issue 648167 has been merged into this issue.
Project Member

Comment 24 by bugdroid1@chromium.org, Sep 29 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/9af3142fbadfe99e53c378dbe6e363e17aed89af

commit 9af3142fbadfe99e53c378dbe6e363e17aed89af
Author: mlippautz <mlippautz@chromium.org>
Date: Thu Sep 29 09:20:48 2016

Revert of [heap] Remove border page

Reason for revert:
No real improvement as we still lack the ability to promote from
scavenges/young gen GCs.

Let's keep this in mind for later.

Original issue's description:
> [heap] Remove border page
>
> A page now belongs either the nursery *or* the intermediate gen. The page that
> contained objects of both spaces is removed in this change.
>
> BUG= chromium:636331 
>
> Committed: https://crrev.com/42ece47446f0dbd3779d6e0e00dce97a1931a9f9
> Cr-Commit-Position: refs/heads/master@{#39778}

TBR=ulan@chromium.org,hpayer@chromium.org
BUG= chromium:636331 

Review-Url: https://codereview.chromium.org/2383443002
Cr-Commit-Position: refs/heads/master@{#39854}

[modify] https://crrev.com/9af3142fbadfe99e53c378dbe6e363e17aed89af/src/heap/heap-inl.h
[modify] https://crrev.com/9af3142fbadfe99e53c378dbe6e363e17aed89af/src/heap/heap.cc
[modify] https://crrev.com/9af3142fbadfe99e53c378dbe6e363e17aed89af/src/heap/heap.h
[modify] https://crrev.com/9af3142fbadfe99e53c378dbe6e363e17aed89af/src/heap/mark-compact.cc
[modify] https://crrev.com/9af3142fbadfe99e53c378dbe6e363e17aed89af/src/heap/spaces-inl.h
[modify] https://crrev.com/9af3142fbadfe99e53c378dbe6e363e17aed89af/src/heap/spaces.cc
[modify] https://crrev.com/9af3142fbadfe99e53c378dbe6e363e17aed89af/src/heap/spaces.h
[modify] https://crrev.com/9af3142fbadfe99e53c378dbe6e363e17aed89af/test/cctest/heap/test-heap.cc

Status: Fixed (was: Assigned)
Reducing the page size is done. We will not remove the border page for now.

Sign in to add a comment