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

Issue 117483002: Make cells pointing to JSObjects weak in optimized code. (Closed)

Created:
7 years ago by ulan
Modified:
6 years, 11 months ago
CC:
v8-dev
Visibility:
Public.

Description

Make cells pointing to JSObjects weak in optimized code. This is done similar to weak embedded objects in optimized code (r17102). The reference from optimized code to a cell is treated weakly in marking visitors if the cell points to a JSObject. After marking we iterate over all cells embedded in optimized code. If a cell is not marked but its value is marked, then we revive the cell by marking it. Otherwise, the cell value is dead, so we mark the code for deoptimization. BUG=v8:2073 TEST=cctest/test-heap/CellsInOptimizedCodeAreWeak LOG=Y R=hpayer@chromium.org, mstarzinger@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=18616

Patch Set 1 : #

Total comments: 6

Patch Set 2 : Rebase #

Patch Set 3 : Handle cells that are saved as embedded objects in reloc info. #

Total comments: 3

Patch Set 4 : Address comments #

Patch Set 5 : Set number of gcs to 4 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+163 lines, -30 lines) Patch
M include/v8.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/heap.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/heap.cc View 1 1 chunk +5 lines, -0 lines 0 comments Download
M src/lithium-codegen.cc View 1 2 2 chunks +16 lines, -2 lines 0 comments Download
M src/mark-compact.cc View 1 2 3 2 chunks +18 lines, -0 lines 0 comments Download
M src/objects.cc View 1 2 3 2 chunks +7 lines, -2 lines 0 comments Download
M src/objects-visiting-inl.h View 1 2 chunks +7 lines, -1 line 0 comments Download
M test/cctest/test-heap.cc View 1 2 3 4 1 chunk +84 lines, -0 lines 0 comments Download
M tools/v8heapconst.py View 1 chunk +24 lines, -24 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
ulan
Please take a look.
7 years ago (2013-12-19 13:27:09 UTC) #1
Michael Starzinger
LGTM (with once comment to address and one comment for posterity). https://codereview.chromium.org/117483002/diff/20001/src/heap.cc File src/heap.cc (right): ...
6 years, 11 months ago (2014-01-10 13:45:19 UTC) #2
ulan
Thanks, Michael. I added comments and rebased. https://codereview.chromium.org/117483002/diff/20001/src/heap.cc File src/heap.cc (right): https://codereview.chromium.org/117483002/diff/20001/src/heap.cc#newcode3311 src/heap.cc:3311: On 2014/01/10 ...
6 years, 11 months ago (2014-01-13 11:35:06 UTC) #3
ulan
Turns out cells can be marked as embedded objects in reloc info. Uploaded patch that ...
6 years, 11 months ago (2014-01-13 12:57:53 UTC) #4
Hannes Payer (out of office)
LGTM, test nits. https://codereview.chromium.org/117483002/diff/150001/test/cctest/test-heap.cc File test/cctest/test-heap.cc (right): https://codereview.chromium.org/117483002/diff/150001/test/cctest/test-heap.cc#newcode3705 test/cctest/test-heap.cc:3705: heap->CollectAllGarbage(false); Is calling 3 times the ...
6 years, 11 months ago (2014-01-14 15:04:18 UTC) #5
ulan
Thanks! https://codereview.chromium.org/117483002/diff/150001/test/cctest/test-heap.cc File test/cctest/test-heap.cc (right): https://codereview.chromium.org/117483002/diff/150001/test/cctest/test-heap.cc#newcode3705 test/cctest/test-heap.cc:3705: heap->CollectAllGarbage(false); I am passing Heap::kAbortIncrementalMarkingMask now. I left ...
6 years, 11 months ago (2014-01-14 17:13:59 UTC) #6
ulan
6 years, 11 months ago (2014-01-15 11:42:31 UTC) #7
Message was sent while issue was closed.
Committed patchset #5 manually as r18616 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698