Bug 132344 - Zombifying sweep should ignore retired blocks
Summary: Zombifying sweep should ignore retired blocks
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Mark Lam
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-04-29 11:02 PDT by Mark Lam
Modified: 2014-04-29 11:30 PDT (History)
6 users (show)

See Also:


Attachments
the patch. (3.02 KB, patch)
2014-04-29 11:16 PDT, Mark Lam
mhahnenberg: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Lam 2014-04-29 11:02:58 PDT
By definition, retired blocks do not have "dead" objects, or at least none that we know of yet until the next marking phase has been run over it.  So, we should not be sweeping them (even for zombie mode).
Comment 1 Mark Lam 2014-04-29 11:16:43 PDT
Created attachment 230391 [details]
the patch.
Comment 2 Mark Hahnenberg 2014-04-29 11:17:22 PDT
Comment on attachment 230391 [details]
the patch.

r=me
Comment 3 Mark Lam 2014-04-29 11:21:15 PDT
Thanks.  Landed in r167948: <http://trac.webkit.org/r167948>.
Comment 4 Geoffrey Garen 2014-04-29 11:25:17 PDT
Why did you do this?

Does this fix a bug in zombie mode? Improve performance?
Comment 5 Mark Lam 2014-04-29 11:30:35 PDT
(In reply to comment #4)
> Why did you do this?
> 
> Does this fix a bug in zombie mode? Improve performance?

This fixes a bug when running with zombie mode.  This is needed because unlike the default sweeper that only sweeps after a full collection (which ensures there are no retired blocks during a sweep), the zombie sweep can happen with just an eden collection (and hence, retired blocks can exists, and we'll fail an assertion if we don't ignore them).