[webkit-changes] [WebKit/WebKit] e1dfe8: PGM Enumeration

Brandon Stewart noreply at github.com
Tue Feb 28 16:55:10 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e1dfe8ee432e1e56188157ffb1ce6f6afb7758ba
      https://github.com/WebKit/WebKit/commit/e1dfe8ee432e1e56188157ffb1ce6f6afb7758ba
  Author: Brandon Stewart <brandonstewart at apple.com>
  Date:   2023-02-28 (Tue, 28 Feb 2023)

  Changed paths:
    M Source/bmalloc/libpas/libpas.xcodeproj/project.pbxproj
    M Source/bmalloc/libpas/src/libpas/pas_enumerate_large_heaps.c
    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_root.c
    M Source/bmalloc/libpas/src/libpas/pas_root.h
    A Source/bmalloc/libpas/src/test/EnumerationTests.cpp
    M Source/bmalloc/libpas/src/test/TestHarness.cpp

  Log Message:
  -----------
  PGM Enumeration
https://bugs.webkit.org/show_bug.cgi?id=252331

Reviewed by Brent Fulgham.

Add enumeration support for PGM allocation. This will enumerate both the allocation and
surronding metadata regarding that allocation. Freed PGM allocations are not tracked.

* Source/bmalloc/libpas/libpas.xcodeproj/project.pbxproj:
* Source/bmalloc/libpas/src/libpas/pas_enumerate_large_heaps.c:
(pas_hash_map_entry_callback):
(enumerate_pgm_map):
(pas_enumerate_large_heaps):
* Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c:
(pas_probabilistic_guard_malloc_deallocate):
* Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.h:
* Source/bmalloc/libpas/src/libpas/pas_root.c:
(pas_root_construct):
* Source/bmalloc/libpas/src/libpas/pas_root.h:
* Source/bmalloc/libpas/src/test/EnumerationTests.cpp: Added.
(std::PageRange::PageRange):
(std::PageRange::operator< const):
(std::PageRange::end const):
(std::RecordedRange::RecordedRange):
(std::RecordedRange::operator< const):
(std::RecordedRange::end const):
(std::ReaderRange::ReaderRange):
(std::ReaderRange::operator< const):
(std::enumeratorReader):
(std::enumeratorRecorder):
(std::testBasicEnumeration):
(std::testPGMEnumerationBasic):
(std::testPGMEnumerationAddAndFree):
(addEnumerationTests):
* Source/bmalloc/libpas/src/test/TestHarness.cpp:
(main):

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




More information about the webkit-changes mailing list