Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5812ab7155d979de14ef1b54449c0966511a50cd https://github.com/WebKit/WebKit/commit/5812ab7155d979de14ef1b54449c0966511a50cd Author: Yusuke Suzuki <ysuz...@apple.com> Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths: M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp M Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp M Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp M Source/JavaScriptCore/wasm/WasmTable.cpp M Source/JavaScriptCore/wasm/WasmTable.h M Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.cpp M Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.h M Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyTableConstructor.cpp Log Message: ----------- [JSC] Cache Table0 buffer and size in JSWebAssemblyInstance https://bugs.webkit.org/show_bug.cgi?id=298752 rdar://160419088 Reviewed by Yijia Huang. This patch caches table0's buffer and size in the same way to the wasm memory. We record weak reference to JSWebAssemblyInstance to Wasm::Table. And it reports size & buffer update when it happens. This eliminates some dependent load from Wasm::Table for each CallIndirect sequence. Also this paves a way to cache this buffer well based on more precise clobberizing model in wasm. * Source/JavaScriptCore/wasm/WasmBBQJIT.cpp: (JSC::Wasm::BBQJITImpl::BBQJIT::addCallIndirect): * Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp: (JSC::IPInt::WASM_IPINT_EXTERN_CPP_DECL): * Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp: (JSC::Wasm::OMGIRGenerator::addCallIndirect): * Source/JavaScriptCore/wasm/WasmTable.cpp: (JSC::Wasm::Table::tryCreate): (JSC::Wasm::Table::grow): (JSC::Wasm::FuncRefTable::FuncRefTable): (JSC::Wasm::FuncRefTable::createFixedSized): (JSC::Wasm::FuncRefTable::registerInstance): * Source/JavaScriptCore/wasm/WasmTable.h: * Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::setTable): (JSC::JSWebAssemblyInstance::updateCachedTable0): * Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.h: * Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::initializeExports): * Source/JavaScriptCore/wasm/js/WebAssemblyTableConstructor.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): Canonical link: https://commits.webkit.org/299902@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes