Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e88b92e29f0753e644abe33fdbc2b78c051ebf59
      
https://github.com/WebKit/WebKit/commit/e88b92e29f0753e644abe33fdbc2b78c051ebf59
  Author: Yusuke Suzuki <[email protected]>
  Date:   2026-08-20 (Thu, 20 Aug 2026)

  Changed paths:
    A JSTests/wasm/stress/bbq-mul-wide-register-pressure.js
    M Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp

  Log Message:
  -----------
  [JSC] Fix BBQ i64.mul_wide register assignment in x64
https://bugs.webkit.org/show_bug.cgi?id=322211
rdar://185448059

Reviewed by Mark Lam.

x64 needs to extract 128bit result from rdx:rax, but if register
allocator assigns resultLo = rdx and resultHi = rax, we clobber them.
This is the similar pattern to Mod/Div. So let's use PREPARE_FOR_MOD_OR_DIV
to clobber them and lock them so they are not selected for scratch registers.

Test: JSTests/wasm/stress/bbq-mul-wide-register-pressure.js

*
JSTests/wasm/stress/bbq-mul-wide-register-pressure.js: Added.
(computeExpected):
* Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp:
(JSC::Wasm::BBQJITImpl::BBQJIT::addI64MulWideU):
(JSC::Wasm::BBQJITImpl::BBQJIT::addI64MulWideS):

Canonical link: 
https://flagged.apple.com:443/proxy?t2=Dv9a0b1Zh5&o=aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMzE5NTUyQG1haW4=&emid=b4244f1a-44c7-44d9-98ff-d5401851b459&c=11



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to