[webkit-changes] [WebKit/WebKit] 27959d: Introduce compile-time checking and alternate allo...

Commit Queue noreply at github.com
Sat Dec 9 00:33:17 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 27959d8049add866e8696984338a697f5419449d
      https://github.com/WebKit/WebKit/commit/27959d8049add866e8696984338a697f5419449d
  Author: David Degazio <d_degazio at apple.com>
  Date:   2023-12-09 (Sat, 09 Dec 2023)

  Changed paths:
    M Source/JavaScriptCore/bytecode/CallLinkInfoBase.h
    M Source/JavaScriptCore/bytecode/CodeBlock.h
    M Source/JavaScriptCore/bytecode/InlineCallFrame.h
    M Source/JavaScriptCore/bytecode/InlineCallFrameSet.h
    M Source/JavaScriptCore/bytecode/StructureStubClearingWatchpoint.h
    M Source/JavaScriptCore/bytecode/Watchpoint.h
    M Source/JavaScriptCore/dfg/DFGJITCode.h
    M Source/JavaScriptCore/heap/FastMallocAlignedMemoryAllocator.cpp
    M Source/JavaScriptCore/heap/IsoAlignedMemoryAllocator.cpp
    M Source/JavaScriptCore/heap/IsoCellSet.cpp
    M Source/JavaScriptCore/heap/IsoCellSet.h
    M Source/JavaScriptCore/heap/IsoSubspace.h
    M Source/JavaScriptCore/heap/PreciseAllocation.h
    M Source/JavaScriptCore/heap/Subspace.h
    M Source/JavaScriptCore/jit/BaselineJITCode.h
    M Source/JavaScriptCore/jit/ExecutableMemoryHandle.h
    M Source/JavaScriptCore/jit/JITCode.h
    M Source/JavaScriptCore/jit/PolymorphicCallStubRoutine.h
    M Source/JavaScriptCore/runtime/ClassInfo.h
    M Source/JavaScriptCore/runtime/JSArray.h
    M Source/JavaScriptCore/runtime/JSCell.h
    M Source/JavaScriptCore/wasm/WasmTypeDefinition.h
    M Source/WTF/wtf/Bag.h
    M Source/WTF/wtf/CompactPointerTuple.h
    M Source/WTF/wtf/CompactPtr.h
    M Source/WTF/wtf/DebugHeap.h
    M Source/WTF/wtf/FastMalloc.cpp
    M Source/WTF/wtf/FastMalloc.h
    M Source/WTF/wtf/IsoMalloc.h
    M Source/WTF/wtf/IsoMallocInlines.h
    M Source/WTF/wtf/MetaAllocatorHandle.h
    M Source/WTF/wtf/Packed.h
    M Source/WTF/wtf/SentinelLinkedList.h
    M Source/WTF/wtf/WeakPtr.h
    M Source/WTF/wtf/text/StringImpl.h
    M Source/WTF/wtf/text/WTFString.h
    M Source/WebCore/css/CSSValue.h
    M Source/WebCore/dom/Node.h
    M Source/WebCore/dom/NodeRareData.h
    M Source/WebCore/rendering/RenderObject.cpp
    M Source/WebCore/rendering/RenderObject.h
    M Source/bmalloc/bmalloc/AllocationCounts.h
    M Source/bmalloc/bmalloc/IsoHeap.cpp
    M Source/bmalloc/bmalloc/IsoHeap.h
    M Source/bmalloc/bmalloc/IsoHeapInlines.h
    M Tools/TestWebKitAPI/Tests/WTF/AlignedRefLogger.h
    M Tools/TestWebKitAPI/Tests/WTF/CompactPtr.cpp
    M Tools/TestWebKitAPI/Tests/WTF/CompactRefPtr.cpp
    M Tools/TestWebKitAPI/Tests/WTF/CompactUniquePtrTuple.cpp
    M Tools/TestWebKitAPI/Tests/WTF/Packed.cpp
    M Tools/TestWebKitAPI/Tests/WTF/PackedRefPtr.cpp
    M Tools/TestWebKitAPI/Tests/WTF/RefLogger.h

  Log Message:
  -----------
  Introduce compile-time checking and alternate allocation for compact pointer types
https://bugs.webkit.org/show_bug.cgi?id=266080
rdar://119382681

Reviewed by Mark Lam.

Adds compile-time checking to WTF compact and packed pointer types requiring the
pointed-to types to be explicitly marked as compatible with compact pointers. Also
adds new equivalents to the existing WTF::fastMalloc and WTF::isoMalloc allocation
functions for compactible types, giving us an API point to play with how types
used in compact pointers are allocated.

* Source/JavaScriptCore/bytecode/CallLinkInfoBase.h:
* Source/JavaScriptCore/bytecode/CodeBlock.h:
* Source/JavaScriptCore/bytecode/InlineCallFrame.h:
* Source/JavaScriptCore/bytecode/InlineCallFrameSet.h:
* Source/JavaScriptCore/bytecode/StructureStubClearingWatchpoint.h:
* Source/JavaScriptCore/bytecode/Watchpoint.h:
* Source/JavaScriptCore/dfg/DFGJITCode.h:
* Source/JavaScriptCore/heap/FastMallocAlignedMemoryAllocator.cpp:
* Source/JavaScriptCore/heap/IsoAlignedMemoryAllocator.cpp:
* Source/JavaScriptCore/jit/BaselineJITCode.h:
* Source/JavaScriptCore/jit/ExecutableMemoryHandle.h:
* Source/JavaScriptCore/jit/JITCode.h:
* Source/JavaScriptCore/jit/PolymorphicCallStubRoutine.h:
* Source/JavaScriptCore/runtime/ClassInfo.h:
* Source/JavaScriptCore/runtime/JSArray.h:
* Source/JavaScriptCore/wasm/WasmTypeDefinition.h:
* Source/WTF/wtf/Bag.h:
* Source/WTF/wtf/CompactPointerTuple.h:
* Source/WTF/wtf/CompactPtr.h:
* Source/WTF/wtf/DebugHeap.h:
* Source/WTF/wtf/FastMalloc.cpp:
* Source/WTF/wtf/FastMalloc.h:
* Source/WTF/wtf/IsoMalloc.h:
* Source/WTF/wtf/IsoMallocInlines.h:
* Source/WTF/wtf/SentinelLinkedList.h:
* Source/WTF/wtf/WeakPtr.h:
* Source/WTF/wtf/text/StringImpl.h:
* Source/WTF/wtf/text/WTFString.h:
* Source/WebCore/dom/Node.h:
* Source/WebCore/dom/NodeRareData.h:
* Source/WebCore/rendering/RenderObject.cpp:
* Source/WebCore/rendering/RenderObject.h:
* Source/bmalloc/bmalloc/AllocationCounts.h:
* Source/bmalloc/bmalloc/IsoHeap.cpp:
* Source/bmalloc/bmalloc/IsoHeap.h:
* Source/bmalloc/bmalloc/IsoHeapImpl.h:
* Source/bmalloc/bmalloc/IsoHeapInlines.h:
* Source/bmalloc/bmalloc/Packed.h:
* Tools/TestWebKitAPI/Tests/WTF/AlignedRefLogger.h:
* Tools/TestWebKitAPI/Tests/WTF/CompactRefPtr.cpp:
* Tools/TestWebKitAPI/Tests/WTF/CompactUniquePtrTuple.cpp:
* Tools/TestWebKitAPI/Tests/WTF/RefLogger.h:

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




More information about the webkit-changes mailing list