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