[webkit-changes] [WebKit/WebKit] 7a222c: [JSC] Introduce Heap::dumpVerifierMarkerData(HeapC...

Yijia Huang noreply at github.com
Fri Nov 15 14:49:07 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7a222cd1f122293829eefb5365e5f76ef8953ff8
      https://github.com/WebKit/WebKit/commit/7a222cd1f122293829eefb5365e5f76ef8953ff8
  Author: Yijia Huang <hyjorc1 at gmail.com>
  Date:   2024-11-15 (Fri, 15 Nov 2024)

  Changed paths:
    M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
    M Source/JavaScriptCore/heap/Heap.cpp
    M Source/JavaScriptCore/heap/Heap.h
    M Source/JavaScriptCore/heap/VerifierSlotVisitor.h
    A Source/JavaScriptCore/heap/VerifierSlotVisitorScope.h

  Log Message:
  -----------
  [JSC] Introduce Heap::dumpVerifierMarkerData(HeapCell*)
https://bugs.webkit.org/show_bug.cgi?id=283183
rdar://139980180

Reviewed by Yusuke Suzuki.

This commit introduces Heap::dumpVerifierMarkerData(HeapCell*), which is
used by VerifierSlotVisitor to display marker data for the target cell.

Usage Example:
```
{
    // Delays GC until the next available opportunity (triggered automatically).
    DeferGCForAWhile deferGC(vm);

    // Pauses asynchronous garbage collection.
    PreventCollectionScope preventCollectionScope(heap);

    // Maintains the VerifierSlotVisitor without resetting.
    VerifierSlotVisitorScope verifierSlotVisitorScope(heap);

    // Manually executes a full GC with both SlotVisitor and VerifierSlotVisitor.
    heap.collectNow(Sync, CollectionScope::Full);

    ...

    // Dumps marker data for the specified target cell.
    heap.dumpVerifierMarkerData(target);

    ...
}

```

* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
* Source/JavaScriptCore/heap/Heap.cpp:
(JSC::Heap::verifierMark):
(JSC::Heap::dumpVerifierMarkerData):
(JSC::Heap::verifyGC):
(JSC::Heap::setKeepVerifierSlotVisitor):
(JSC::Heap::clearVerifierSlotVisitor):
* Source/JavaScriptCore/heap/Heap.h:
* Source/JavaScriptCore/heap/VerifierSlotVisitor.h:
(JSC::VerifierSlotVisitor::doneMarking):
(JSC::VerifierSlotVisitor::setDoneMarking):
* Source/JavaScriptCore/heap/VerifierSlotVisitorScope.h: Added.
(JSC::VerifierSlotVisitorScope::VerifierSlotVisitorScope):
(JSC::VerifierSlotVisitorScope::~VerifierSlotVisitorScope):

Canonical link: https://commits.webkit.org/286659@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list