[webkit-changes] [WebKit/WebKit] 8174a9: [JSC] Combine FuncRefTable entries
Yusuke Suzuki
noreply at github.com
Fri Dec 23 23:44:13 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 8174a9300cd8edff3c4fc20f5c8d62cd4fa927a9
https://github.com/WebKit/WebKit/commit/8174a9300cd8edff3c4fc20f5c8d62cd4fa927a9
Author: Yusuke Suzuki <ysuzuki at apple.com>
Date: 2022-12-23 (Fri, 23 Dec 2022)
Changed paths:
M Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h
M Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp
M Source/JavaScriptCore/wasm/WasmOperations.cpp
M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp
M Source/JavaScriptCore/wasm/WasmTable.cpp
M Source/JavaScriptCore/wasm/WasmTable.h
M Source/JavaScriptCore/wasm/js/JSWebAssemblyTable.cpp
Log Message:
-----------
[JSC] Combine FuncRefTable entries
https://bugs.webkit.org/show_bug.cgi?id=249859
rdar://103681015
Reviewed by Mark Lam.
This patch combines FuncRefTable entries into one so that we don't need to access two separate vectors
everytime we call an indirect function.
This patch also constant-fold table-size since this information can be known constant at wasm module level.
* Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h:
(JSC::Wasm::ExpressionType>::addCallIndirect):
* Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::addCallIndirect):
* Source/JavaScriptCore/wasm/WasmOperations.cpp:
(JSC::Wasm::setWasmTableElement):
* Source/JavaScriptCore/wasm/WasmSlowPaths.cpp:
(JSC::LLInt::doWasmCallIndirect):
* Source/JavaScriptCore/wasm/WasmTable.cpp:
(JSC::Wasm::Table::grow):
(JSC::Wasm::Table::clear):
(JSC::Wasm::FuncRefTable::FuncRefTable):
(JSC::Wasm::FuncRefTable::setFunction):
(JSC::Wasm::FuncRefTable::function const):
(JSC::Wasm::FuncRefTable::copyFunction):
(JSC::Wasm::FuncRefTable::instance const): Deleted.
* Source/JavaScriptCore/wasm/WasmTable.h:
(JSC::Wasm::FuncRefTable::Function::offsetOfFunction):
(JSC::Wasm::FuncRefTable::Function::offsetOfInstance):
(JSC::Wasm::FuncRefTable::offsetOfFunctions):
(JSC::Wasm::FuncRefTable::offsetOfInstances): Deleted.
* Source/JavaScriptCore/wasm/js/JSWebAssemblyTable.cpp:
(JSC::JSWebAssemblyTable::set):
Canonical link: https://commits.webkit.org/258318@main
More information about the webkit-changes
mailing list