[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