Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 861a6c6a08581e2b60c2e8488451baedf3be390c
      
https://github.com/WebKit/WebKit/commit/861a6c6a08581e2b60c2e8488451baedf3be390c
  Author: Yusuke Suzuki <[email protected]>
  Date:   2026-04-06 (Mon, 06 Apr 2026)

  Changed paths:
    M Source/JavaScriptCore/heap/GCMemoryOperations.h

  Log Message:
  -----------
  [JSC] Use simple SIMD loop in x64 in GCMemoryOperations
https://bugs.webkit.org/show_bug.cgi?id=311539
rdar://174131168

Reviewed by Justin Michaud.

This patch cleans up the implementation of gcSafeMemcpy etc. on x64.
Also fixing Windows ARM64 bug.

1. Do not use `rep stosq` and always use manual SIMD loop. While `rep
   stosb` is specifically optimized by Intel cores, `rep stosq` is not.
   And we cannot use `rep stosb` here as we need to ensure that torn
   reads / writes do not happen.
2. Widen copying width as the same to 310580@main in ARM64.
3. 307443@main introduced a bug that it becomes nope when the size is
   larger than smallCutoff and ARM64 Windows, memcpy and memmove become nop.
   This patch fixes it.

* Source/JavaScriptCore/heap/GCMemoryOperations.h:
(JSC::gcSafeMemcpy):
(JSC::gcSafeMemmove):
(JSC::gcSafeZeroMemory):

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



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

Reply via email to