Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 40c330f75da3abf2cad6a49e51ec81e7adce87e9
      
https://github.com/WebKit/WebKit/commit/40c330f75da3abf2cad6a49e51ec81e7adce87e9
  Author: David Degazio <d_dega...@apple.com>
  Date:   2025-03-07 (Fri, 07 Mar 2025)

  Changed paths:
    M Source/JavaScriptCore/CMakeLists.txt
    M Source/JavaScriptCore/jit/CCallHelpers.h
    M Source/JavaScriptCore/wasm/WasmBBQJIT.h

  Log Message:
  -----------
  [JSC] Use shuffle algorithm from BBQ for CCallHelpers::shuffleRegisters
https://bugs.webkit.org/show_bug.cgi?id=289306
rdar://146442401

Reviewed by Yusuke Suzuki.

Ports the shuffle algorithm used in the Wasm BBQ JIT to 
CCallHelpers::shuffleRegisters.
This results in fewer redundant moves being generated, particularly due to the 
fact we
are no longer using swaps to resolve dependent move cycles. Using this 
algorithm, we
elide 17234 out of 160180 moves total resolving shuffles on JetStream 2, a 10.7%
reduction, reducing code size and avoiding cheap but redundant work.

* Source/JavaScriptCore/jit/CCallHelpers.h:
(JSC::CCallHelpers::emitShuffleMove):
(JSC::CCallHelpers::scratchRegisterByType<RegisterID>):
(JSC::CCallHelpers::scratchRegisterByType<FPRegisterID>):
(JSC::CCallHelpers::shuffleRegisters):
* Source/JavaScriptCore/wasm/WasmBBQJIT.h:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to