Bug 132344

Summary: Zombifying sweep should ignore retired blocks
Product: WebKit Reporter: Mark Lam <mark.lam>
Component: JavaScriptCoreAssignee: Mark Lam <mark.lam>
Status: RESOLVED FIXED    
Severity: Normal CC: fpizlo, ggaren, mhahnenberg, mmirman, msaboff, oliver
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
the patch. mhahnenberg: review+

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).