[webkit-changes] [WebKit/WebKit] bc648d: Fix control flow with multiple exits on single-pas...
Commit Queue
noreply at github.com
Fri Mar 3 01:03:44 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: bc648d25c5aa6be1fffc4794700336f357742a45
https://github.com/WebKit/WebKit/commit/bc648d25c5aa6be1fffc4794700336f357742a45
Author: David Degazio <d_degazio at apple.com>
Date: 2023-03-03 (Fri, 03 Mar 2023)
Changed paths:
M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
Log Message:
-----------
Fix control flow with multiple exits on single-pass BBQ JIT
https://bugs.webkit.org/show_bug.cgi?id=253298
rdar://106182518
Reviewed by Yusuke Suzuki.
Fixes br_table, func, switch WASM spec tests when using single-pass
BBQ JIT on Intel. Specifically, refactors BBQ JIT's control flow data
to support passing values to multiple distinct exit branches per block.
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJIT::ControlData::flushAtBlockBoundary):
(JSC::Wasm::BBQJIT::ControlData::addExit):
(JSC::Wasm::BBQJIT::ControlData::finalizeBlock):
(JSC::Wasm::BBQJIT::ControlData::flushAndSingleExit):
(JSC::Wasm::BBQJIT::ControlData::targetLocations const):
(JSC::Wasm::BBQJIT::addBlock):
(JSC::Wasm::BBQJIT::addLoop):
(JSC::Wasm::BBQJIT::addIf):
(JSC::Wasm::BBQJIT::addElse):
(JSC::Wasm::BBQJIT::addTry):
(JSC::Wasm::BBQJIT::addCatch):
(JSC::Wasm::BBQJIT::addCatchAll):
(JSC::Wasm::BBQJIT::addBranch):
(JSC::Wasm::BBQJIT::addSwitch):
(JSC::Wasm::BBQJIT::addEndToUnreachable):
(JSC::Wasm::BBQJIT::ControlData::endBlock): Deleted.
Canonical link: https://commits.webkit.org/261122@main
More information about the webkit-changes
mailing list