Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 46375fbc5a6710ec3e2fd10848009e31b307b741
      
https://github.com/WebKit/WebKit/commit/46375fbc5a6710ec3e2fd10848009e31b307b741
  Author: David Degazio <d_dega...@apple.com>
  Date:   2023-02-14 (Tue, 14 Feb 2023)

  Changed paths:
    M Source/JavaScriptCore/Sources.txt
    M Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h
    M Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h
    M Source/JavaScriptCore/runtime/OptionsList.h
    M Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h
    M Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp
    A Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
    A Source/JavaScriptCore/wasm/WasmBBQJIT.h
    M Source/JavaScriptCore/wasm/WasmBBQPlan.cpp
    M Source/JavaScriptCore/wasm/WasmFunctionParser.h
    M Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp
    M Source/WTF/wtf/PlatformEnable.h
    M Source/WTF/wtf/SmallSet.h

  Log Message:
  -----------
  Pass core WebAssembly spec tests on ARM64 with single-pass WebAssembly 
baseline JIT
https://bugs.webkit.org/show_bug.cgi?id=250052
rdar://105421077

Reviewed by Yusuke Suzuki.

Adds a new single-pass baseline JIT implementation for WebAssembly, the 
single-pass
BBQ JIT. The main goal of this new compiler is to compile substantially faster 
than
the existing Air tier, while offering comparable levels of generated code 
performance.
This should help us start up considerably faster on large WASM programs.

This is the initial commit of this feature, and the new baseline is only 
partially
complete. Currently, it should pass all the core spec tests on ARM64, but there 
are
some remaining issues on other platforms, some failures on the full stress 
tests, and
missing support for some key features like SIMD. As such, it's being landed 
disabled
by default, behind the new '--useSinglePassBBQJIT' flag.

* Source/JavaScriptCore/Sources.txt:
* Source/JavaScriptCore/runtime/OptionsList.h:
* Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h:
(JSC::Wasm::ExpressionType>::getGlobal):
(JSC::Wasm::parseAndCompileAirImpl):
* Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::parseAndCompileB3):
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp: Added.
* Source/JavaScriptCore/wasm/WasmBBQJIT.h: Added.
* Source/JavaScriptCore/wasm/WasmBBQPlan.cpp:
(JSC::Wasm::BBQPlan::dumpDisassembly):
(JSC::Wasm::BBQPlan::work):
(JSC::Wasm::BBQPlan::compileFunction):
(JSC::Wasm::BBQPlan::didCompleteCompilation):
* Source/JavaScriptCore/wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser::typeOfLocal const):

Canonical link: https://commits.webkit.org/260260@main


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to