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

Issue 7720024: Fix lazy sweeping for new marking bit clearing. (Closed)

Created:
9 years, 4 months ago by Michael Starzinger
Modified:
9 years, 4 months ago
CC:
v8-dev
Visibility:
Public.

Description

Fix lazy sweeping for new marking bit clearing. This cleans the semantics of the WAS_SWEPT_* page flags. Pages swept precisely can be iterated, hitting only the live objects. Whereas those swept conservatively cannot be iterated over. Both flags indicate that marking bits have been cleared by the sweeper, otherwise marking bits are still intact. The actual fix is in SetPagesToSweep, which had a buggy iteration and set the WAS_SWEPT_CONSERVATIVELY flag on too many pages. Another fix is in EvacuateLiveObjectsFromPage which clears marking bits now. R=erik.corry@gmail.com,vegorov@chromium.org BUG=v8:1463 TEST=cctest/test-api/Threading Committed: http://code.google.com/p/v8/source/detail?r=9011

Patch Set 1 #

Patch Set 2 : Fix lazy sweeping for new marking bit clearing. #

Total comments: 2

Patch Set 3 : Addressed review by Erik Corry. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+74 lines, -53 lines) Patch
M src/mark-compact.cc View 1 2 8 chunks +32 lines, -12 lines 0 comments Download
M src/spaces.h View 1 2 4 chunks +24 lines, -19 lines 0 comments Download
M src/spaces.cc View 1 2 6 chunks +18 lines, -22 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
Michael Starzinger
9 years, 4 months ago (2011-08-24 11:26:01 UTC) #1
Erik Corry
I don't think it makes sense to say that a page that was not swept ...
9 years, 4 months ago (2011-08-24 11:33:34 UTC) #2
Michael Starzinger
Yes, adding something like SHOULD_BE_SWEPT_CONSERVATIVELY makes perfect sense to me. I'll look into that. On ...
9 years, 4 months ago (2011-08-24 12:05:41 UTC) #3
Michael Starzinger
As discussed yesterday, I cleaned up the semantics of the WAS_SWEPT_* flags. There are basically ...
9 years, 4 months ago (2011-08-25 08:07:34 UTC) #4
Erik Corry
LGTM http://codereview.chromium.org/7720024/diff/4001/src/mark-compact.cc File src/mark-compact.cc (right): http://codereview.chromium.org/7720024/diff/4001/src/mark-compact.cc#newcode2499 src/mark-compact.cc:2499: !p->WasSweptPrecisely() && I think it makes sense to ...
9 years, 4 months ago (2011-08-25 09:19:47 UTC) #5
Michael Starzinger
9 years, 4 months ago (2011-08-25 09:33:02 UTC) #6
Added new patch set.

http://codereview.chromium.org/7720024/diff/4001/src/mark-compact.cc
File src/mark-compact.cc (right):

http://codereview.chromium.org/7720024/diff/4001/src/mark-compact.cc#newcode2499
src/mark-compact.cc:2499: !p->WasSweptPrecisely() &&
On 2011/08/25 09:19:48, Erik Corry wrote:
> I think it makes sense to have a
>   bool WasSwept() { return WasSweptPrecisely() || WasSweptConservatively(); }
> I think there are 4 places this could be used.

Done.

Powered by Google App Engine
This is Rietveld 408576698