[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