Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 442597c67d70bad57c53f18754e6630988c1759a
      
https://github.com/WebKit/WebKit/commit/442597c67d70bad57c53f18754e6630988c1759a
  Author: Mikhail R. Gadelha <[email protected]>
  Date:   2025-10-06 (Mon, 06 Oct 2025)

  Changed paths:
    M Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h
    M Source/JavaScriptCore/assembler/X86Assembler.h
    M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
    M Source/JavaScriptCore/wasm/WasmBBQJIT.h
    M Source/JavaScriptCore/wasm/WasmBBQJIT32_64.cpp
    M Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp

  Log Message:
  -----------
  [JSC] Unify 32-bit and 64-bit BBQJIT::addF64Copysign
https://bugs.webkit.org/show_bug.cgi?id=298957

Reviewed by Yusuke Suzuki.

This PR unifies the 32-bit and 64-bit versions of BBQJIT::addF64Copysign, using
fp instructions.

In most cases, we were converting things to scalar, doing the copy sign, and
converting back to fp. By using fp instructions, the code for all platforms is
simplified.

The change to MacroAssemblerX86_64.h was required because absDouble on x86 it’s
implemented as ANDNOT with a -0.0 mask loaded into the destination register. If
src == dst, the ANDNOT zeros the register, so we use fpTempRegister to prevent
that. Also since we are not using shift/rotation on x86 anymore, we don't need
to clobber shiftRCX.

* Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::absDouble):
* Source/JavaScriptCore/assembler/X86Assembler.h:
(JSC::X86Assembler::vpsllq_i8rr):
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJITImpl::BBQJIT::addF64Copysign):
* Source/JavaScriptCore/wasm/WasmBBQJIT.h:
* Source/JavaScriptCore/wasm/WasmBBQJIT32_64.cpp:
(JSC::Wasm::BBQJITImpl::BBQJIT::addF64Copysign): Deleted.
(JSC::Wasm::BBQJITImpl::BBQJIT::F64CopysignHelper): Deleted.
* Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp:
(JSC::Wasm::BBQJITImpl::BBQJIT::addF64Copysign): Deleted.

Canonical link: https://commits.webkit.org/301080@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