[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