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