[webkit-changes] [WebKit/WebKit] 169e23: [JSC] JIT memcpy should be done atomically for cer...

Yusuke Suzuki noreply at github.com
Thu Nov 7 10:02:32 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 169e231fb727160719c17a6470c2b7dfaab851da
      https://github.com/WebKit/WebKit/commit/169e231fb727160719c17a6470c2b7dfaab851da
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2024-11-07 (Thu, 07 Nov 2024)

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

  Log Message:
  -----------
  [JSC] JIT memcpy should be done atomically for certain sizes
https://bugs.webkit.org/show_bug.cgi?id=282744
rdar://139416205

Reviewed by Yijia Huang.

Some of JIT code repatching needs to be done atomically. But current
performJITMemcpy etc. is just using memcpy so it is not guaranteed.
This patch changes them to use atomic store with size for certain size
cases.

* Source/JavaScriptCore/assembler/AssemblerCommon.h:
(JSC::memcpyAtomicIfPossible):
(JSC::machineCodeCopy):
* Source/JavaScriptCore/jit/ExecutableAllocator.cpp:
(JSC::performJITMemcpyWithMProtect):
* Source/JavaScriptCore/jit/ExecutableAllocator.h:
(JSC::performJITMemcpy):

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



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


More information about the webkit-changes mailing list