[webkit-changes] [WebKit/WebKit] 46375f: Pass core WebAssembly spec tests on ARM64 with sin...
EWS
noreply at github.com
Tue Feb 14 09:04:28 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 46375fbc5a6710ec3e2fd10848009e31b307b741
https://github.com/WebKit/WebKit/commit/46375fbc5a6710ec3e2fd10848009e31b307b741
Author: David Degazio <d_degazio at 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
More information about the webkit-changes
mailing list