[webkit-changes] [WebKit/WebKit] 81b85b: Disable IsoHeap code when TZoneHeap is enabled.
Commit Queue
noreply at github.com
Thu Jan 16 07:26:21 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 81b85b9b573f56941699ce4c7867d47a2b4fc0df
https://github.com/WebKit/WebKit/commit/81b85b9b573f56941699ce4c7867d47a2b4fc0df
Author: Mark Lam <mark.lam at apple.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M Source/WTF/wtf/FastMalloc.h
M Source/WTF/wtf/PlatformUse.h
M Source/bmalloc/bmalloc/AllIsoHeaps.cpp
M Source/bmalloc/bmalloc/AllIsoHeaps.h
M Source/bmalloc/bmalloc/AllIsoHeapsInlines.h
M Source/bmalloc/bmalloc/DeferredDecommit.h
M Source/bmalloc/bmalloc/DeferredDecommitInlines.h
M Source/bmalloc/bmalloc/DeferredTrigger.h
M Source/bmalloc/bmalloc/DeferredTriggerInlines.h
M Source/bmalloc/bmalloc/EligibilityResult.h
M Source/bmalloc/bmalloc/EligibilityResultInlines.h
M Source/bmalloc/bmalloc/FreeList.cpp
M Source/bmalloc/bmalloc/FreeList.h
M Source/bmalloc/bmalloc/FreeListInlines.h
M Source/bmalloc/bmalloc/IsoAllocator.h
M Source/bmalloc/bmalloc/IsoAllocatorInlines.h
M Source/bmalloc/bmalloc/IsoConfig.h
M Source/bmalloc/bmalloc/IsoDeallocator.h
M Source/bmalloc/bmalloc/IsoDeallocatorInlines.h
M Source/bmalloc/bmalloc/IsoDirectory.h
M Source/bmalloc/bmalloc/IsoDirectoryInlines.h
M Source/bmalloc/bmalloc/IsoDirectoryPage.h
M Source/bmalloc/bmalloc/IsoDirectoryPageInlines.h
M Source/bmalloc/bmalloc/IsoHeap.cpp
M Source/bmalloc/bmalloc/IsoHeap.h
M Source/bmalloc/bmalloc/IsoHeapImpl.cpp
M Source/bmalloc/bmalloc/IsoHeapImpl.h
M Source/bmalloc/bmalloc/IsoHeapImplInlines.h
M Source/bmalloc/bmalloc/IsoHeapInlines.h
M Source/bmalloc/bmalloc/IsoMallocFallback.cpp
M Source/bmalloc/bmalloc/IsoMallocFallback.h
M Source/bmalloc/bmalloc/IsoPage.cpp
M Source/bmalloc/bmalloc/IsoPage.h
M Source/bmalloc/bmalloc/IsoPageInlines.h
M Source/bmalloc/bmalloc/IsoPageTrigger.h
M Source/bmalloc/bmalloc/IsoSharedConfig.h
M Source/bmalloc/bmalloc/IsoSharedHeap.cpp
M Source/bmalloc/bmalloc/IsoSharedHeap.h
M Source/bmalloc/bmalloc/IsoSharedHeapInlines.h
M Source/bmalloc/bmalloc/IsoSharedPage.cpp
M Source/bmalloc/bmalloc/IsoSharedPage.h
M Source/bmalloc/bmalloc/IsoSharedPageInlines.h
M Source/bmalloc/bmalloc/IsoTLS.cpp
M Source/bmalloc/bmalloc/IsoTLS.h
M Source/bmalloc/bmalloc/IsoTLSAllocatorEntry.h
M Source/bmalloc/bmalloc/IsoTLSAllocatorEntryInlines.h
M Source/bmalloc/bmalloc/IsoTLSDeallocatorEntry.h
M Source/bmalloc/bmalloc/IsoTLSDeallocatorEntryInlines.h
M Source/bmalloc/bmalloc/IsoTLSEntryInlines.h
M Source/bmalloc/bmalloc/IsoTLSInlines.h
M Source/bmalloc/bmalloc/IsoTLSLayout.cpp
M Source/bmalloc/bmalloc/IsoTLSLayout.h
M Source/bmalloc/bmalloc/TZoneHeap.cpp
M Source/bmalloc/bmalloc/TZoneHeapInlines.h
M Source/bmalloc/bmalloc/TZoneHeapManager.h
M Source/bmalloc/bmalloc/TZoneLog.cpp
M Source/bmalloc/bmalloc/TZoneLog.h
Log Message:
-----------
Disable IsoHeap code when TZoneHeap is enabled.
https://bugs.webkit.org/show_bug.cgi?id=286048
rdar://143020852
Reviewed by Yusuke Suzuki.
The IsoHeap code is unused and just taking up space. We can #if them out. This also helps to
clearly delineate the IsoHeap code from the TZoneHeap code making the code boundary clearer.
It also reduces the reduces code size by just under 4K.
For this patch, I also built with TZoneHeap disabled, and then, libpas and TZoneHeap disabled to
verify that my changes didn't break those builds. The non-libpas IsoHeap build seems to have a
pre-existing build issue with fields in malloc_introspection_t. I worked around that for my test
build, but will not attempt to fix it here because it is a pre-existing condition and independent
to this change.
In general, I follow the common convention of #include "BPlatform.h" in .c/cpp files, and not
include it in header files. However, there are a few bmalloc header files that are #included by
external files (like tests) that did not #include "BPlatform.h" already. In those few cases, I
made an exception and just #include "BPlatform.h" there.
I also #include "BPlatform.h" in FastMalloc.h if !USE(SYSTEM_MALLOC). This ensures that all WTF
and higher layers will build with the correct configuration of bmalloc i.e. use libpas or not,
use TZoneHeap or not, etc.
* Source/WTF/wtf/FastMalloc.h:
* Source/WTF/wtf/PlatformUse.h:
* Source/bmalloc/bmalloc/AllIsoHeaps.cpp:
* Source/bmalloc/bmalloc/AllIsoHeaps.h:
* Source/bmalloc/bmalloc/AllIsoHeapsInlines.h:
* Source/bmalloc/bmalloc/DeferredDecommit.h:
* Source/bmalloc/bmalloc/DeferredDecommitInlines.h:
* Source/bmalloc/bmalloc/DeferredTrigger.h:
* Source/bmalloc/bmalloc/DeferredTriggerInlines.h:
* Source/bmalloc/bmalloc/EligibilityResult.h:
* Source/bmalloc/bmalloc/EligibilityResultInlines.h:
* Source/bmalloc/bmalloc/FreeList.cpp:
* Source/bmalloc/bmalloc/FreeList.h:
* Source/bmalloc/bmalloc/FreeListInlines.h:
* Source/bmalloc/bmalloc/IsoAllocator.h:
* Source/bmalloc/bmalloc/IsoAllocatorInlines.h:
* Source/bmalloc/bmalloc/IsoConfig.h:
* Source/bmalloc/bmalloc/IsoDeallocator.h:
* Source/bmalloc/bmalloc/IsoDeallocatorInlines.h:
* Source/bmalloc/bmalloc/IsoDirectory.h:
* Source/bmalloc/bmalloc/IsoDirectoryInlines.h:
* Source/bmalloc/bmalloc/IsoDirectoryPage.h:
* Source/bmalloc/bmalloc/IsoDirectoryPageInlines.h:
* Source/bmalloc/bmalloc/IsoHeap.cpp:
* Source/bmalloc/bmalloc/IsoHeap.h:
* Source/bmalloc/bmalloc/IsoHeapImpl.cpp:
* Source/bmalloc/bmalloc/IsoHeapImpl.h:
* Source/bmalloc/bmalloc/IsoHeapImplInlines.h:
* Source/bmalloc/bmalloc/IsoHeapInlines.h:
* Source/bmalloc/bmalloc/IsoMallocFallback.cpp:
* Source/bmalloc/bmalloc/IsoMallocFallback.h:
* Source/bmalloc/bmalloc/IsoPage.cpp:
* Source/bmalloc/bmalloc/IsoPage.h:
* Source/bmalloc/bmalloc/IsoPageInlines.h:
* Source/bmalloc/bmalloc/IsoPageTrigger.h:
* Source/bmalloc/bmalloc/IsoSharedConfig.h:
* Source/bmalloc/bmalloc/IsoSharedHeap.cpp:
* Source/bmalloc/bmalloc/IsoSharedHeap.h:
* Source/bmalloc/bmalloc/IsoSharedHeapInlines.h:
* Source/bmalloc/bmalloc/IsoSharedPage.cpp:
* Source/bmalloc/bmalloc/IsoSharedPage.h:
* Source/bmalloc/bmalloc/IsoSharedPageInlines.h:
* Source/bmalloc/bmalloc/IsoTLS.cpp:
* Source/bmalloc/bmalloc/IsoTLS.h:
* Source/bmalloc/bmalloc/IsoTLSAllocatorEntry.h:
* Source/bmalloc/bmalloc/IsoTLSAllocatorEntryInlines.h:
* Source/bmalloc/bmalloc/IsoTLSDeallocatorEntry.h:
* Source/bmalloc/bmalloc/IsoTLSDeallocatorEntryInlines.h:
* Source/bmalloc/bmalloc/IsoTLSEntryInlines.h:
* Source/bmalloc/bmalloc/IsoTLSInlines.h:
* Source/bmalloc/bmalloc/IsoTLSLayout.cpp:
* Source/bmalloc/bmalloc/IsoTLSLayout.h:
* Source/bmalloc/bmalloc/TZoneHeap.cpp:
* Source/bmalloc/bmalloc/TZoneHeapInlines.h:
* Source/bmalloc/bmalloc/TZoneHeapManager.h:
* Source/bmalloc/bmalloc/TZoneLog.cpp:
* Source/bmalloc/bmalloc/TZoneLog.h:
Canonical link: https://commits.webkit.org/289011@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