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

Issue 18173013: AllocationSite objects weakly linked for traversal (Closed)

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

Description

The gc should be able to traverse all AllocationSites for decision making. The sites are threaded into a weak list. Special problems include: * Allocations of AllocationSites occur in generated code, so generated code needs to be able to add to the list. For now I have a special hydrogen instruction, though it would be nice to use general purpose instructions. * The snapshot contains AllocationSites, and these need to be re-threaded into the list on deserialization. Something nice is that the AllocationSites are only created in old space, so a special new space visitor isn't required. BUG= R=mstarzinger@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=15715

Patch Set 1 : Review ready #

Total comments: 18

Patch Set 2 : Response to first comments #

Total comments: 6

Patch Set 3 : Removed ObjectVisitor::VisitAllocationSite #

Patch Set 4 : Platform ports #

Total comments: 4

Patch Set 5 : Addressed final nits #

Unified diffs Side-by-side diffs Delta from patch set Stats (+343 lines, -10 lines) Patch
M src/arm/lithium-arm.h View 1 2 3 2 chunks +18 lines, -0 lines 0 comments Download
M src/arm/lithium-arm.cc View 1 2 3 2 chunks +25 lines, -0 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 3 1 chunk +13 lines, -0 lines 0 comments Download
M src/assembler.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/assembler.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M src/code-stubs-hydrogen.cc View 1 chunk +6 lines, -2 lines 0 comments Download
M src/heap.h View 1 3 chunks +8 lines, -1 line 0 comments Download
M src/heap.cc View 1 5 chunks +42 lines, -1 line 0 comments Download
M src/hydrogen-instructions.h View 1 2 3 4 3 chunks +37 lines, -0 lines 0 comments Download
M src/hydrogen-instructions.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 chunk +14 lines, -0 lines 0 comments Download
M src/ia32/lithium-ia32.h View 2 chunks +20 lines, -0 lines 0 comments Download
M src/ia32/lithium-ia32.cc View 1 2 3 2 chunks +26 lines, -0 lines 0 comments Download
M src/objects.h View 1 2 2 chunks +9 lines, -2 lines 0 comments Download
M src/objects.cc View 1 2 1 chunk +5 lines, -1 line 0 comments Download
M src/objects-inl.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M src/objects-printer.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M src/objects-visiting.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/objects-visiting.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M src/objects-visiting-inl.h View 1 1 chunk +5 lines, -0 lines 0 comments Download
M src/serialize.h View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M src/serialize.cc View 1 2 5 chunks +33 lines, -3 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 3 1 chunk +10 lines, -0 lines 0 comments Download
M src/x64/lithium-x64.h View 1 2 3 2 chunks +18 lines, -0 lines 0 comments Download
M src/x64/lithium-x64.cc View 1 2 3 2 chunks +25 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
mvstanton
Hi guys, I worked with Michael the most on this, but it heavily uses code ...
7 years, 5 months ago (2013-07-16 15:10:10 UTC) #1
Michael Starzinger
First round of comments. On a high level I don't particularly like the hackery with ...
7 years, 5 months ago (2013-07-16 18:14:45 UTC) #2
mvstanton
Thanks Michael, PTAL. --Michael https://codereview.chromium.org/18173013/diff/11001/src/heap.cc File src/heap.cc (right): https://codereview.chromium.org/18173013/diff/11001/src/heap.cc#newcode1789 src/heap.cc:1789: allocation_sites_list(), On 2013/07/16 18:14:46, Michael ...
7 years, 5 months ago (2013-07-16 19:34:57 UTC) #3
Michael Starzinger
Yep, looking good already. Some comment about the virtual object visitor as we discussed offline. ...
7 years, 5 months ago (2013-07-17 08:48:56 UTC) #4
mvstanton
Hi Michael, addressed issues per our conversation. I'm happy to be able to avoid changing ...
7 years, 5 months ago (2013-07-17 09:56:16 UTC) #5
Michael Starzinger
LGTM from my end with minor final nits. https://codereview.chromium.org/18173013/diff/36001/src/hydrogen-instructions.h File src/hydrogen-instructions.h (right): https://codereview.chromium.org/18173013/diff/36001/src/hydrogen-instructions.h#newcode5434 src/hydrogen-instructions.h:5434: store_field_(store_field), ...
7 years, 5 months ago (2013-07-17 11:25:30 UTC) #6
mvstanton
Thanks very much! --Michael https://codereview.chromium.org/18173013/diff/36001/src/hydrogen-instructions.h File src/hydrogen-instructions.h (right): https://codereview.chromium.org/18173013/diff/36001/src/hydrogen-instructions.h#newcode5434 src/hydrogen-instructions.h:5434: store_field_(store_field), On 2013/07/17 11:25:30, Michael ...
7 years, 5 months ago (2013-07-17 11:49:00 UTC) #7
mvstanton
7 years, 5 months ago (2013-07-17 11:50:37 UTC) #8
Message was sent while issue was closed.
Committed patchset #5 manually as r15715 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698