Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6e9cb493392fde1a54c2fe5fecabb93a5f736ee5
https://github.com/WebKit/WebKit/commit/6e9cb493392fde1a54c2fe5fecabb93a5f736ee5
Author: Dan Hecht <[email protected]>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M Source/JavaScriptCore/llint/InPlaceInterpreter.asm
M Source/JavaScriptCore/offlineasm/arm64.rb
M Source/JavaScriptCore/offlineasm/instructions.rb
M Source/JavaScriptCore/runtime/OptionsList.h
Log Message:
-----------
[JSC] WASM IPInt SIMD: ipint entrypoints should preserve 128-bits of float
registers
https://bugs.webkit.org/show_bug.cgi?id=299183
rdar://160943357
Reviewed by Yusuke Suzuki.
When the IPInt entrypoint slow-paths call out before incoming arguments
are processed, it saves and restores the argument registers. In order to
support v128 arguments, this code needs to save/restore all 128-bits of
the fp argument registers.
Add storepairv / loadpairv to ARM64 offlineasm for this. Also fixed some
incorrect immediate validity checks for storepairi / storepairi in
offlineasm while I'm here.
Renamed preserveVolatileRegisters to preserveWasmVolatileRegisters
for clarity since the "volatile registers" in this case are specific to
WASM, not the full ARM64 ABI volatile registers.
Testing: on both ARM64 and X86_64:
JSC_validateOptions=1 JSC_forceTrapAwareStackChecks=1 run-jsc-stress-tests
JSTests/wasm.yaml
* Source/JavaScriptCore/llint/InPlaceInterpreter.asm:
* Source/JavaScriptCore/offlineasm/arm64.rb:
* Source/JavaScriptCore/offlineasm/instructions.rb:
* Source/JavaScriptCore/runtime/OptionsList.h:
Canonical link: https://commits.webkit.org/300259@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes