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