[Webkit-unassigned] [Bug 65585] New: JSC GC may not be able to reuse partially-free blocks after a full collection

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Aug 2 17:29:17 PDT 2011


           Summary: JSC GC may not be able to reuse partially-free blocks
                    after a full collection
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: fpizlo at apple.com

The JSC GC has a quirk in the management of free blocks, where when a free block is removed from a size class, all blocks prior to that one may also be removed from the size class's list of to-sweep blocks.  The lazy sweep will then overlook these blocks and allocate fresh blocks instead of reusing free space in partially-free blocks.  This pathology will persist only until the next non-full collection, so it only has two effects:

1) The next collection may come sooner than otherwise, if there is a lot of free space in partially-free blocks.

2) The allocator has fewer opportunities to "fill in" fragmentation.  Oddly, this might be good for performance.  But on the downside, it may lead to more fragmentation in the long run.

Notably, other than the risk of fragmentation, this bug does not degrade memory usage - it only has the potential pathology of decreasing the time-to-next-collection after a full collection.

Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

More information about the webkit-unassigned mailing list