Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 603b096bc593c733ff459e2b2415237f6a82626f
      
https://github.com/WebKit/WebKit/commit/603b096bc593c733ff459e2b2415237f6a82626f
  Author: Marcus Plutowski <marcus_plutow...@apple.com>
  Date:   2025-02-27 (Thu, 27 Feb 2025)

  Changed paths:
    M Source/JavaScriptCore/jit/ExecutableAllocator.cpp
    M Source/WTF/wtf/SequesteredImmortalHeap.cpp
    M Source/WTF/wtf/SequesteredImmortalHeap.h
    M Source/WTF/wtf/SequesteredMalloc.cpp
    M Source/WTF/wtf/SequesteredMalloc.h

  Log Message:
  -----------
  [WTF] Create SequesteredImmortalAllocator
https://bugs.webkit.org/show_bug.cgi?id=288659
rdar://145698858

Reviewed by David Degazio.

This "allocator" essentially leaks memory, but ensures that
all memory allocated will come from the sequestered memory region.
This is necessary for singletons and other objects with near-static
lifetime.

This also changes JSC's FixedVMPoolExecutableAllocator to use
this new allocator, which sequesters (most, but not all) of the
data used by the ExecutibleAllocator.

* Source/JavaScriptCore/jit/ExecutableAllocator.cpp:
* Source/WTF/wtf/SequesteredImmortalHeap.cpp:
(WTF::SequesteredImmortalAllocator::addGranule):
* Source/WTF/wtf/SequesteredImmortalHeap.h:
(WTF::SequesteredImmortalAllocator::allocate):
(WTF::SequesteredImmortalAllocator::alignedAllocate):
(WTF::SequesteredImmortalAllocator::headIncrementedBy const):
(WTF::SequesteredImmortalAllocator::headAlignedUpTo const):
(WTF::SequesteredImmortalAllocator::allocateImpl):
(WTF::SequesteredImmortalAllocator::alignedAllocateImpl):
(WTF::SequesteredImmortalAllocator::allocateImplSlowPath):
(WTF::SequesteredImmortalAllocator::alignedAllocateImplSlowPath):
(WTF::SequesteredImmortalHeap::allocateAndInstall):
(WTF::SequesteredImmortalHeap::immortalMalloc):
(WTF::SequesteredImmortalHeap::immortalAlignedMalloc):
(WTF::SequesteredImmortalHeap::computeSlotIndex):
* Source/WTF/wtf/SequesteredMalloc.cpp:
(WTF::sequesteredImmortalMalloc):
(WTF::sequesteredImmortalAlignedMalloc):
* Source/WTF/wtf/SequesteredMalloc.h:

Canonical link: https://commits.webkit.org/291309@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