Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 81b85b9b573f56941699ce4c7867d47a2b4fc0df
      
https://github.com/WebKit/WebKit/commit/81b85b9b573f56941699ce4c7867d47a2b4fc0df
  Author: Mark Lam <mark....@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
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to