[webkit-changes] [WebKit/WebKit] f4ebee: [libpas] Improve PGM metadata management

Zak Ridouh noreply at github.com
Sun Jan 12 23:45:37 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f4ebee8774596e8435dcba922f8ff30579469060
      https://github.com/WebKit/WebKit/commit/f4ebee8774596e8435dcba922f8ff30579469060
  Author: Zak Ridouh <zakr at apple.com>
  Date:   2025-01-12 (Sun, 12 Jan 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/test/PGMTests.cpp

  Log Message:
  -----------
  [libpas] Improve PGM metadata management
https://bugs.webkit.org/show_bug.cgi?id=285557
rdar://142506754

Reviewed by Brandon Stewart.

Simplify the metadata management for PGM in libpas. Use a circular
buffer to store metadata upon deallocations.

Add tests to verify improvement.

* Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c:
(pas_probabilistic_guard_malloc_allocate):
(pas_probabilistic_guard_malloc_deallocate):
(pas_probabilistic_guard_malloc_check_exists):
(pas_probabilistic_guard_malloc_initialize_pgm_as_enabled):
(pas_probabilistic_guard_malloc_pgm_metadata_buffer_full): Deleted.
(pas_probabilistic_guard_malloc_pgm_metadata_buffer_empty): Deleted.
(pas_probabilistic_guard_malloc_pgm_metadata_buffer_add): Deleted.
(pas_probabilistic_guard_malloc_pgm_metadata_buffer_remove): Deleted.
(pas_probabilistic_guard_malloc_manage_metadata): Deleted.
* Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.h:
* Source/bmalloc/libpas/src/test/PGMTests.cpp:
(std::testPGMMetaData):
(std::testPGMMetadataVectorManagement):
(std::testPGMMetadataVectorManagementFewDeallocations):
(std::testPGMMetadataDoubleFreeBehavior):
(addPGMTests):

Canonical link: https://commits.webkit.org/288785@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