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

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

  Log Message:
  -----------
  [JSC] Allow wider bulk copy in GC safe memory operations
https://bugs.webkit.org/show_bug.cgi?id=311492
rdar://174084423

Reviewed by Yijia Huang.

Optimize gcSafeZeroMemory, gcSafeMemcpy, gcSafeMemmove.

1. Reduce the threshold for bulk copy loop. 8 elements are enough to
   gain SIMD performance benefit.
2. Do 64byte bulk copying, which is wider than the previous 32byte bulk
   copying.

Note that GC safe memory operations are intentionally written in asm
volatile code (not using intrinisc) to ensure that the exact code will
be performed. If some torn reads / writes happen, GC crashes.

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

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



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

Reply via email to