Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8174a9300cd8edff3c4fc20f5c8d62cd4fa927a9
      
https://github.com/WebKit/WebKit/commit/8174a9300cd8edff3c4fc20f5c8d62cd4fa927a9
  Author: Yusuke Suzuki <[email protected]>
  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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to