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

Issue 40063002: Bookkeeping for allocation site pretenuring (Closed)

Created:
7 years, 2 months ago by mvstanton
Modified:
7 years ago
CC:
v8-dev
Visibility:
Public.

Description

The goal is to discover the appropriate heap space for objects created in full code. By the time we optimize the code, we'll be able to decide on new or old space based on the number of surviving objects after one or more gcs. The mechanism is a "memento" placed behind objects in the heap. It's currently done for array and object literals, with plans to use mementos for constructed objects as well (in a later CL). The feature is behind the flag allocation_site_pretenuring, currently off. R=hpayer@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=18104

Patch Set 1 #

Patch Set 2 : Turn feature on in hydrogen. #

Patch Set 3 : Chose better names for things. #

Patch Set 4 : Tolerate zombie AllocationSites that were evacuated before found via Memento #

Patch Set 5 : REBASE #

Patch Set 6 : REBASE plus adjusted pretenuring cctests. #

Patch Set 7 : Rebase built on site fields in another CL. #

Total comments: 28

Patch Set 8 : REBASE #

Patch Set 9 : Comment response #

Total comments: 14

Patch Set 10 : Addressin comments. #

Total comments: 4

Patch Set 11 : Addressed nits. #

Patch Set 12 : REBASE. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+310 lines, -85 lines) Patch
M src/allocation-site-scopes.h View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +9 lines, -8 lines 0 comments Download
M src/allocation-site-scopes.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +17 lines, -0 lines 0 comments Download
M src/arm/full-codegen-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +9 lines, -4 lines 0 comments Download
M src/heap.h View 1 2 3 4 5 6 7 8 9 3 chunks +7 lines, -3 lines 0 comments Download
M src/heap.cc View 1 2 3 4 5 6 7 8 9 10 11 8 chunks +48 lines, -16 lines 0 comments Download
M src/heap-inl.h View 1 2 3 4 5 6 7 8 2 chunks +13 lines, -6 lines 0 comments Download
M src/hydrogen.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -1 line 0 comments Download
M src/hydrogen.cc View 1 2 3 4 5 6 7 8 9 10 11 6 chunks +44 lines, -9 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +9 lines, -4 lines 0 comments Download
M src/mark-compact.h View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -0 lines 0 comments Download
M src/mark-compact.cc View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +15 lines, -13 lines 0 comments Download
M src/mips/full-codegen-mips.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +9 lines, -4 lines 0 comments Download
M src/objects.h View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +42 lines, -5 lines 0 comments Download
M src/objects.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +11 lines, -8 lines 0 comments Download
M src/objects-inl.h View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +52 lines, -0 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +9 lines, -4 lines 0 comments Download
M test/cctest/test-heap.cc View 1 2 3 4 5 6 7 8 9 10 11 10 chunks +10 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
mvstanton
Hi Hannes, Michael, There are a few failing tests to investigate, but this is basically ...
7 years, 2 months ago (2013-10-24 12:34:55 UTC) #1
mvstanton
Chopping this CL up into smaller ones, thx.
7 years, 1 month ago (2013-10-25 08:31:54 UTC) #2
mvstanton
Hi Hannes, PTAL, I've rebased the CL as dependent on another CL that adds the ...
7 years, 1 month ago (2013-11-20 15:39:29 UTC) #3
Hannes Payer (out of office)
First round of comments, cool stuff! https://chromiumcodereview.appspot.com/40063002/diff/350001/src/flag-definitions.h File src/flag-definitions.h (right): https://chromiumcodereview.appspot.com/40063002/diff/350001/src/flag-definitions.h#newcode213 src/flag-definitions.h:213: DEFINE_bool(allocation_site_pretenuring, true, Should ...
7 years, 1 month ago (2013-11-21 20:52:24 UTC) #4
mvstanton
Here you go Hannes, thx for the comments, they prompted a few bigger changes. --Michael ...
7 years, 1 month ago (2013-11-22 11:18:50 UTC) #5
Hannes Payer (out of office)
https://chromiumcodereview.appspot.com/40063002/diff/550001/src/allocation-site-scopes.cc File src/allocation-site-scopes.cc (right): https://chromiumcodereview.appspot.com/40063002/diff/550001/src/allocation-site-scopes.cc#newcode100 src/allocation-site-scopes.cc:100: ASSERT(FLAG_allocation_site_pretenuring); This assert has to hold in that case, ...
7 years ago (2013-11-25 11:45:51 UTC) #6
mvstanton
Thx, Hannes, here you go. --Michael https://codereview.chromium.org/40063002/diff/550001/src/allocation-site-scopes.cc File src/allocation-site-scopes.cc (right): https://codereview.chromium.org/40063002/diff/550001/src/allocation-site-scopes.cc#newcode100 src/allocation-site-scopes.cc:100: ASSERT(FLAG_allocation_site_pretenuring); On 2013/11/25 ...
7 years ago (2013-11-25 13:49:17 UTC) #7
Hannes Payer (out of office)
LGTM, just minor nits. The next step should be a set of tests. BTW. can ...
7 years ago (2013-11-27 10:51:37 UTC) #8
mvstanton
Right on thanks much, --Michael https://codereview.chromium.org/40063002/diff/660001/src/allocation-site-scopes.cc File src/allocation-site-scopes.cc (right): https://codereview.chromium.org/40063002/diff/660001/src/allocation-site-scopes.cc#newcode89 src/allocation-site-scopes.cc:89: if (FLAG_allocation_site_pretenuring) { On ...
7 years ago (2013-11-27 13:27:58 UTC) #9
mvstanton
7 years ago (2013-11-27 14:03:55 UTC) #10
Message was sent while issue was closed.
Committed patchset #12 manually as r18104 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698