[Webkit-unassigned] [Bug 138851] New: Add Heap verification infrastructure

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Nov 18 16:02:25 PST 2014


https://bugs.webkit.org/show_bug.cgi?id=138851

            Bug ID: 138851
           Summary: Add Heap verification infrastructure
    Classification: Unclassified
           Product: WebKit
           Version: 528+ (Nightly build)
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: mark.lam at apple.com

This is debugging code I wrote for a prior debugging session.  Just cleaning it up for landing so that we can reuse / build on it in the future as needed.

The code is always build in but disabled by default.  When disabled, the cost is minimal:
1. Heap has a m_verifier field.
2. GC does a few "if (m_verifier)" checks that should fail.
3. HeapVerifier takes up code space though not used.

When enabled:
1. The HeapVerifier will keep N number of GC pass data.
   Each GC pass will contain a "before marking" and "after marking" live object list.
   The GC passes is a circular buffer.  Only data for the last N GC passes will be retained.
2. During GC, the current GC pass' live objects lists will be populated before and after marking.
3. The current GC pass' live object lists will be validated before GC, after marking, and after GC.

Currently, the only validation being done is to verify that object butterflies are allocated from valid blocks in the Storage (aka Copied) space.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20141119/26d711aa/attachment-0002.html>


More information about the webkit-unassigned mailing list