Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
[libpas] Refactor PGM to align with libpas allocation norms and split…
… pas_get_random https://bugs.webkit.org/show_bug.cgi?id=240331 Reviewed by Yusuke Suzuki. This patch touches a few major areas. PGM did not properly align with how we returned allocation results with the rest of the code base. We now use pas_allocation_result instead. This resulted in touching a lot of the PGM testing code. Added numerous helper utilities to make it easier to check whether we should call into PGM. Added config option for each heap whether PGM will be enabled or not. Cleaned up documentation. I split the pas_get_random into two functions (pas_get_fast_random and pas_get_secure_random). * Source/bmalloc/libpas/Documentation.md: * Source/bmalloc/libpas/ReadMe.md: * Source/bmalloc/libpas/src/libpas/bmalloc_heap_config.h: * Source/bmalloc/libpas/src/libpas/hotbit_heap_config.h: * Source/bmalloc/libpas/src/libpas/iso_heap_config.h: * Source/bmalloc/libpas/src/libpas/iso_test_heap_config.h: * Source/bmalloc/libpas/src/libpas/minalign32_heap_config.h: * Source/bmalloc/libpas/src/libpas/pagesize64k_heap_config.h: * Source/bmalloc/libpas/src/libpas/pas_baseline_allocator_table.c: (pas_baseline_allocator_table_get_random_index): * Source/bmalloc/libpas/src/libpas/pas_dynamic_primitive_heap_map.c: (pas_dynamic_primitive_heap_map_find_slow): * Source/bmalloc/libpas/src/libpas/pas_heap_config.h: * Source/bmalloc/libpas/src/libpas/pas_heap_config_utils.h: * Source/bmalloc/libpas/src/libpas/pas_large_heap.c: (pas_large_heap_try_allocate_pgm): * Source/bmalloc/libpas/src/libpas/pas_large_heap.h: * 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_get_free_virtual_memory): (pas_probabilistic_guard_malloc_get_free_wasted_memory): (pas_probabilistic_guard_malloc_debug_info): (pas_probabilistic_guard_malloc_trigger): Deleted. (pas_probabilistic_guard_malloc_can_use): Deleted. (pas_probabilistic_guard_malloc_should_use): Deleted. * Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.h: * Source/bmalloc/libpas/src/libpas/pas_random.h: (pas_get_fast_random): (pas_get_secure_random): (pas_get_random): Deleted. * Source/bmalloc/libpas/src/libpas/pas_segregated_shared_page_directory.c: (find_first_eligible_consider_view): * Source/bmalloc/libpas/src/libpas/thingy_heap_config.h: * Source/bmalloc/libpas/src/test/IsoHeapPartialAndBaselineTests.cpp: * Source/bmalloc/libpas/src/test/PGMTests.cpp: (std::testPGMSingleAlloc): (std::testPGMMultipleAlloc): (std::testPGMErrors): Canonical link: https://commits.webkit.org/250997@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294866 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- Loading branch information
Showing
21 changed files
with
267 additions
and
256 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.