Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ee19c59a58e727d26bc3d36b0d8e63b06a1371a8 https://github.com/WebKit/WebKit/commit/ee19c59a58e727d26bc3d36b0d8e63b06a1371a8 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: ----------- Re-landing: 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. Update: added build fix for PLATFORM(MACCATALYST). * 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/265446@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes