Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7ad346c14cd494bcdfdf1393a1461a7e3090bb47
      
https://github.com/WebKit/WebKit/commit/7ad346c14cd494bcdfdf1393a1461a7e3090bb47
  Author: Geoffrey Garen <[email protected]>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M Source/JavaScriptCore/heap/GigacageAlignedMemoryAllocator.h
    M Source/JavaScriptCore/heap/StructureAlignedMemoryAllocator.h
    M Source/JavaScriptCore/jit/ExecutableAllocator.h
    M Source/JavaScriptCore/llint/LLIntOfflineAsmConfig.h
    M Source/JavaScriptCore/runtime/ArrayBuffer.cpp
    M Source/JavaScriptCore/runtime/BufferMemoryHandle.cpp
    M Source/JavaScriptCore/runtime/Butterfly.h
    M Source/JavaScriptCore/runtime/JSArrayBufferView.cpp
    M Source/JavaScriptCore/runtime/Options.cpp
    M Source/JavaScriptCore/runtime/VM.h
    M Source/JavaScriptCore/tools/IntegrityInlines.h
    M Source/JavaScriptCore/wasm/WasmMemory.cpp
    M Source/JavaScriptCore/wasm/js/JSToWasm.cpp
    M Source/WTF/WTF.xcodeproj/project.pbxproj
    M Source/WTF/wtf/CMakeLists.txt
    M Source/WTF/wtf/CagedPtr.h
    M Source/WTF/wtf/FastMalloc.cpp
    M Source/WTF/wtf/FastMalloc.h
    R Source/WTF/wtf/Gigacage.cpp
    R Source/WTF/wtf/Gigacage.h
    M Source/WTF/wtf/Threading.cpp
    M Source/WebCore/bindings/js/SerializedScriptValue.h
    M Source/bmalloc/bmalloc/SystemHeap.cpp
    M Source/bmalloc/libpas/src/libpas/bmalloc_heap.c
    M Source/bmalloc/libpas/src/libpas/bmalloc_heap_flex.c
    M Source/bmalloc/libpas/src/libpas/bmalloc_heap_iso.c

  Log Message:
  -----------
  [Build Speed] 2s speedup in clean WTF+bmalloc build
https://bugs.webkit.org/show_bug.cgi?id=312108
rdar://174616734

Reviewed by Marcus Plutowski.

Reduced bmalloc compilation overhead.

1. In the WTF configuration where we inline most of bmalloc into
FastMalloc, #ifdef out the separate out of line implementation in bmalloc. It's
unused.

2. Merge Gigacage.h/.cpp and FastMalloc.h/.cpp because it's expensive to include
all the bmalloc inlines separately, and Gigacage is merged with malloc inside
bmalloc anyway.

3. Don't #include all of bmalloc.h in Threading.h just to expose a single QoS
API. Instead expose the API through FastMalloc, which already includes those
headers in its implementation.

* Source/JavaScriptCore/heap/GigacageAlignedMemoryAllocator.h:
* Source/JavaScriptCore/heap/StructureAlignedMemoryAllocator.h:
* Source/JavaScriptCore/jit/ExecutableAllocator.h:
* Source/JavaScriptCore/llint/LLIntOfflineAsmConfig.h:
* Source/JavaScriptCore/runtime/ArrayBuffer.cpp:
* Source/JavaScriptCore/runtime/BufferMemoryHandle.cpp:
* Source/JavaScriptCore/runtime/Butterfly.h:
* Source/JavaScriptCore/runtime/JSArrayBufferView.cpp:
* Source/JavaScriptCore/runtime/Options.cpp:
* Source/JavaScriptCore/runtime/VM.h:
* Source/JavaScriptCore/tools/IntegrityInlines.h:
* Source/JavaScriptCore/wasm/WasmMemory.cpp:
* Source/JavaScriptCore/wasm/js/JSToWasm.cpp:
* Source/WTF/WTF.xcodeproj/project.pbxproj:
* Source/WTF/wtf/CMakeLists.txt:
* Source/WTF/wtf/CagedPtr.h:
* Source/WTF/wtf/FastMalloc.cpp:
(WTF::fastSetScavengerThreadQOSClass):
(Gigacage::tryAlignedMalloc):
(Gigacage::tryMalloc):
(Gigacage::malloc):
(Gigacage::tryZeroedMalloc):
(Gigacage::zeroedMalloc):
(Gigacage::tryRealloc):
(Gigacage::free):
(Gigacage::tryAllocateZeroedVirtualPages):
(Gigacage::freeVirtualPages):
(Gigacage::tryMallocArray):
(Gigacage::mallocArray):
* Source/WTF/wtf/FastMalloc.h:
* Source/WTF/wtf/Gigacage.cpp: Removed.
* Source/WTF/wtf/Gigacage.h: Removed.
* Source/WTF/wtf/Threading.cpp:
(WTF::Thread::setGlobalMaxQOSClass):
* Source/WebCore/bindings/js/SerializedScriptValue.h:
* Source/bmalloc/bmalloc/SystemHeap.cpp:
* Source/bmalloc/libpas/src/libpas/bmalloc_heap.c:
(bmalloc_try_allocate_auxiliary_with_alignment_casual):
(bmalloc_allocate_auxiliary_with_alignment_casual):
(bmalloc_try_allocate_auxiliary):
(bmalloc_allocate_auxiliary):
* Source/bmalloc/libpas/src/libpas/bmalloc_heap_flex.c:
* Source/bmalloc/libpas/src/libpas/bmalloc_heap_iso.c:
(bmalloc_try_iso_allocate):
(bmalloc_iso_allocate):
(bmalloc_try_iso_allocate_array_by_size): Deleted.
(bmalloc_iso_allocate_array_by_size): Deleted.

Canonical link: https://commits.webkit.org/311125@main



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

Reply via email to