Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6063bc484b4f523c354231080d5bc2fca0b536f1
      
https://github.com/WebKit/WebKit/commit/6063bc484b4f523c354231080d5bc2fca0b536f1
  Author: Mark Lam <mark....@apple.com>
  Date:   2023-06-22 (Thu, 22 Jun 2023)

  Changed paths:
    M Source/JavaScriptCore/assembler/CPU.cpp
    M Source/JavaScriptCore/assembler/CPU.h
    M Source/JavaScriptCore/jit/ExecutableAllocator.cpp

  Log Message:
  -----------
  Skip JIT memory allocation in ExecutableAllocator::disableJIT() when running 
on an open source XNU.
https://bugs.webkit.org/show_bug.cgi?id=258409
rdar://111170164

Reviewed by Yusuke Suzuki.

The open source XNU does not support special handling of JIT memory.  However, 
macOS Safari and
WebKit binaries still need to be able to run on the open source XNU, albeit 
without JIT.

However, ExecutableAllocator::disableJIT() is still trying to allocated JIT 
memory if the JIT
entitlement is present (which is defined by the WebKit binary, not the kernel), 
and currently,
will assert that the allocation succeeds.  We need to skip this allocation and 
assertion when
running on open source XNU because the allocation is not necessary, and the 
assertion is invalid
for the open source kernel and will fail every time.  This patch implements 
this skipping.

* Source/JavaScriptCore/assembler/CPU.cpp:
(JSC::isKernOpenSource):
* Source/JavaScriptCore/assembler/CPU.h:
* Source/JavaScriptCore/jit/ExecutableAllocator.cpp:
(JSC::ExecutableAllocator::disableJIT):

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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to