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

Issue 11271006: Fix code flusher to process weak function links. (Closed)

Created:
8 years, 2 months ago by Michael Starzinger
Modified:
8 years, 1 month ago
Reviewers:
ulan_google, ulan
CC:
v8-dev
Visibility:
Public.

Description

Fix code flusher to process weak function links. This fixes a corner case where weak function links of the code flushing candidates list were destroyed by scavenges that happened during incremental marking. Now those weak function links are updated while scavenging happens. R=ulan@chromium.org TEST=cctest/test-heap/TestCodeFlushingIncrementalScavenge Committed: https://code.google.com/p/v8/source/detail?r=12825

Patch Set 1 #

Patch Set 2 : Do true scavenge instead of weak object retention. #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+95 lines, -1 line) Patch
M src/heap.cc View 1 2 chunks +7 lines, -0 lines 0 comments Download
M src/mark-compact.h View 1 1 chunk +7 lines, -0 lines 0 comments Download
M src/mark-compact.cc View 1 1 chunk +15 lines, -0 lines 2 comments Download
M src/objects-debug.cc View 1 chunk +2 lines, -1 line 0 comments Download
M test/cctest/test-heap.cc View 1 1 chunk +64 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Michael Starzinger
8 years, 2 months ago (2012-10-24 12:30:42 UTC) #1
ulan_google
LGTM https://codereview.chromium.org/11271006/diff/2002/src/mark-compact.cc File src/mark-compact.cc (right): https://codereview.chromium.org/11271006/diff/2002/src/mark-compact.cc#newcode964 src/mark-compact.cc:964: candidate = GetNextCandidate(*slot); candidate = GetNextCandidate(candidate); Would be ...
8 years, 1 month ago (2012-10-26 09:15:28 UTC) #2
Michael Starzinger
8 years, 1 month ago (2012-10-26 09:39:39 UTC) #3
https://codereview.chromium.org/11271006/diff/2002/src/mark-compact.cc
File src/mark-compact.cc (right):

https://codereview.chromium.org/11271006/diff/2002/src/mark-compact.cc#newcod...
src/mark-compact.cc:964: candidate = GetNextCandidate(*slot);
On 2012/10/26 09:15:28, ulan1 wrote:
> candidate = GetNextCandidate(candidate);
> 
> Would be more robust w.r.t. reordering of these two lines.

We cannot use the candidate variable here, because the visitor most probably
updated the referenced stored at the slot. So we need to reload the reference
and candidate should be considered a stale value at this point.

Powered by Google App Engine
This is Rietveld 408576698