[webkit-changes] [WebKit/WebKit] 488b7a: [JSC] We should not bind / unbind invalid registers
Yusuke Suzuki
noreply at github.com
Tue Feb 28 15:37:36 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 488b7a8fa2a123d62f6a71481e2688d73f1ef54a
https://github.com/WebKit/WebKit/commit/488b7a8fa2a123d62f6a71481e2688d73f1ef54a
Author: Yusuke Suzuki <ysuzuki at apple.com>
Date: 2023-02-28 (Tue, 28 Feb 2023)
Changed paths:
M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
Log Message:
-----------
[JSC] We should not bind / unbind invalid registers
https://bugs.webkit.org/show_bug.cgi?id=253116
rdar://106053301
Reviewed by Justin Michaud.
Some operations set m_preserved registers in ScratchScope, and they can include reserved scratch registers
by BBQJIT. Since they are reserved by BBQJIT, they cannot be used by register allocator. This patch prevents
ScratchScope from adding them into register allocator.
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJIT::returnValuesFromCall):
(JSC::Wasm::BBQJIT::unbind):
(JSC::Wasm::BBQJIT::ScratchScope::bindGPRToScratch):
(JSC::Wasm::BBQJIT::ScratchScope::bindFPRToScratch):
(JSC::Wasm::BBQJIT::ScratchScope::unbindGPRFromScratch):
(JSC::Wasm::BBQJIT::ScratchScope::unbindFPRFromScratch):
Canonical link: https://commits.webkit.org/260971@main
More information about the webkit-changes
mailing list