Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 21f7771c163dfa0727792de83714d754b5c97122
      
https://github.com/WebKit/WebKit/commit/21f7771c163dfa0727792de83714d754b5c97122
  Author: Zak Ridouh <[email protected]>
  Date:   2025-04-23 (Wed, 23 Apr 2025)

  Changed paths:
    M 
Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c
    M 
Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.h
    M Source/bmalloc/libpas/src/libpas/pas_report_crash.c
    M Source/bmalloc/libpas/src/libpas/pas_report_crash_pgm_report.h
    M Source/bmalloc/libpas/src/libpas/pas_segmented_vector.h
    M Source/bmalloc/libpas/src/libpas/pas_utils.h
    M Source/bmalloc/libpas/src/test/EnumerationTests.cpp
    M Source/bmalloc/libpas/src/test/PGMTests.cpp

  Log Message:
  -----------
  [libpas] Land PGM stack trace collection
https://bugs.webkit.org/show_bug.cgi?id=287049
rdar://106166552

Reviewed by Yusuke Suzuki.

Reland stack trace collection for PGM allocations and deallocations
after A/B performance testing came back neutral.

Below is the original commit message for additional context:

This adds collection and storage of <=31 frames of backtrace upon PGM
allocation and deallocation. A followup patch will pack these frame
pointers more aggressivly.

Additionally, bump `pas_crash_report_version` to version 3 so
`reportcrashd` is aware of struct changes.

Add a variety of tests to validate this new functionality.

* Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c:
(backtrace):
(pas_probabilistic_guard_malloc_allocate):
(pas_probabilistic_guard_malloc_deallocate):
* Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.h:
* Source/bmalloc/libpas/src/libpas/pas_report_crash.c:
(pas_update_report_crash_fields):
(pas_report_crash_extract_pgm_failure):
* Source/bmalloc/libpas/src/libpas/pas_report_crash_pgm_report.h:
* Source/bmalloc/libpas/src/libpas/pas_segmented_vector.h:
* Source/bmalloc/libpas/src/libpas/pas_utils.h:
(pas_non_empty_ranges_overlap):
(pas_ranges_overlap):
* Source/bmalloc/libpas/src/test/EnumerationTests.cpp:
(std::testPGMEnumerationBasic):
(std::testPGMEnumerationAddAndFree):
* Source/bmalloc/libpas/src/test/PGMTests.cpp:
(std::testPGMMultipleAlloc):
(std::testPGMMetadataVectorManagementRehash):
(std::testPGMBmallocAllocationBacktrace):
(std::testPGMAllocMetadataOnly):
(addPGMTests):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to