[webkit-changes] [WebKit/WebKit] 477444: JSC should have options to more aggresively use PGM
Keith Miller
noreply at github.com
Tue Jan 28 12:22:13 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 477444b37b601f38660f2115815a198d306676af
https://github.com/WebKit/WebKit/commit/477444b37b601f38660f2115815a198d306676af
Author: Keith Miller <keith_miller at apple.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M Source/JavaScriptCore/jsc.cpp
M Source/JavaScriptCore/runtime/Options.cpp
M Source/JavaScriptCore/runtime/OptionsList.h
M Source/WTF/wtf/FastMalloc.cpp
M Source/WTF/wtf/FastMalloc.h
M Source/bmalloc/bmalloc/bmalloc.cpp
M Source/bmalloc/bmalloc/bmalloc.h
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
M Tools/Scripts/run-jsc-stress-tests
Log Message:
-----------
JSC should have options to more aggresively use PGM
https://bugs.webkit.org/show_bug.cgi?id=286443
rdar://143525317
Reviewed by Yusuke Suzuki and Mark Lam.
We recently had a bunch of bugs in PGM because it ran too infrequently
on the bots to be noticed. This patch plumbs out a way to force PGM to
run more aggressively and uses it for some JSC configurations.
* Source/JavaScriptCore/jsc.cpp:
(printUsageStatement):
(crashPGMUAF):
(crashPGMUpperGuardPage):
(crashPGMLowerGuardPage):
(CommandLine::parseArguments):
* Source/JavaScriptCore/runtime/Options.cpp:
(JSC::Options::initialize):
* Source/JavaScriptCore/runtime/OptionsList.h:
* Source/WTF/wtf/FastMalloc.cpp:
(WTF::forceEnablePGM):
* Source/WTF/wtf/FastMalloc.h:
* Source/bmalloc/bmalloc/bmalloc.cpp:
(bmalloc::api::forceEnablePGM):
* Source/bmalloc/bmalloc/bmalloc.h:
* Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c:
(pas_probabilistic_guard_malloc_initialize_pgm_as_enabled):
* Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.h:
* Source/bmalloc/libpas/src/test/PGMTests.cpp:
(std::testPGMMetadataVectorManagement):
(std::testPGMMetadataVectorManagementFewDeallocations):
(std::testPGMMetadataDoubleFreeBehavior):
* Tools/Scripts/run-jsc-stress-tests:
Canonical link: https://commits.webkit.org/289461@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