Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6862989c15b07881a06587ee7a976fbe6a169f89
      
https://github.com/WebKit/WebKit/commit/6862989c15b07881a06587ee7a976fbe6a169f89
  Author: Marcus Plutowski <[email protected]>
  Date:   2026-03-27 (Fri, 27 Mar 2026)

  Changed paths:
    M Source/JavaScriptCore/jit/ExecutableAllocator.cpp
    M Source/JavaScriptCore/llint/LowLevelInterpreter.asm
    M Source/WTF/wtf/WTFConfig.cpp
    M Source/WTF/wtf/WTFConfig.h
    M Source/bmalloc/CMakeLists.txt
    M Source/bmalloc/bmalloc.xcodeproj/project.pbxproj
    M Source/bmalloc/bmalloc/GigacageConfig.h
    M Source/bmalloc/libpas/libpas.xcodeproj/project.pbxproj
    M Source/bmalloc/libpas/src/libpas/pas_config.h
    M Source/bmalloc/libpas/src/libpas/pas_mte_config.c
    M Source/bmalloc/libpas/src/libpas/pas_mte_config.h
    A Source/bmalloc/libpas/src/libpas/pas_runtime_config.c
    A Source/bmalloc/libpas/src/libpas/pas_runtime_config.h

  Log Message:
  -----------
  [libpas] Refactor libpas runtime configuration code
https://bugs.webkit.org/show_bug.cgi?id=305146
rdar://167796173

Reviewed by Dan Hecht.

Previously, the PAS_ENABLE_MTE guard macro was only set when
PAS_BMALLOC was defined — i.e. when libpas was being built as part of a
bmalloc build. This means that freestanding builds of libpas could not
leverage MTE — including the test suite.
Fixing this is obviously a pre-requisite for more reliably testing
libpas' MTE tagging policy and the like through test-pas.

In order to do so, I refactored the initialization structure to allow for
it to cleanly manage its own storage when not linked against WTF. The new
pas_runtime_config.h includes the relevant definitions + storage, as
needed.

Further refactors were made to clean up how WTFConfig.h's g_config
storage is managed, in particular with regards to the slots reserved for
use by allocators. This includes moving libpas' reserved storage to the
beginning of g_config, switching places with the storage previously used
by the ExecutableAllocator.

Beyond those refactors, the only functional change required was to add a
pas-internal replacement for the storage provided by WTF's g_config in
bmalloc builds.

* Source/bmalloc/libpas/src/libpas/pas_runtime_config.c: Added.
* Source/bmalloc/libpas/src/libpas/pas_runtime_config.h: Added.
* Source/WTF/wtf/WTFConfig.h: Refactored WTFConfig definitions.
* Source/JavaScriptCore/jit/ExecutableAllocator.cpp: Made aware of
  new WTFConfig layout.
* Source/bmalloc/bmalloc/GigacageConfig.h: Made aware of
  new WTFConfig layout.

Originally-landed-as: 306105@main (807130f62415). rdar://167796173
Canonical link: https://commits.webkit.org/310130@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to