Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0ebf892b7ecf2a75dfcb9fe1d281afe60ba8deff https://github.com/WebKit/WebKit/commit/0ebf892b7ecf2a75dfcb9fe1d281afe60ba8deff Author: Yusuke Suzuki <ysuz...@apple.com> Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths: M Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h M Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp M Source/JavaScriptCore/wasm/WasmTable.cpp M Source/JavaScriptCore/wasm/WasmTable.h Log Message: ----------- [JSC] Add wasm fixed-sized FuncRefTable https://bugs.webkit.org/show_bug.cgi?id=251136 rdar://104634169 Reviewed by Mark Lam. In many cases, FuncRefTable is fixed-sized (initial size matches against maximum size). This patch adds FixedSized optimization for FuncRefTable: 1. We allocate function's buffer as a tail of FuncRefTable memory. 2. In BBQ and OMG code, we avoid one-level indirection of load if we know that table is fixed-sized and it is not imported table. * Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h: (JSC::Wasm::ExpressionType>::addCallIndirect): * Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::B3IRGenerator::addCallIndirect): * Source/JavaScriptCore/wasm/WasmTable.cpp: (JSC::Wasm::Table::Table): (JSC::Wasm::Table::tryCreate): (JSC::Wasm::FuncRefTable::FuncRefTable): (JSC::Wasm::FuncRefTable::~FuncRefTable): (JSC::Wasm::FuncRefTable::createFixedSized): * Source/JavaScriptCore/wasm/WasmTable.h: (JSC::Wasm::Table::isFixedSized const): Canonical link: https://commits.webkit.org/259363@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes