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

Reply via email to