Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 46375fbc5a6710ec3e2fd10848009e31b307b741
https://github.com/WebKit/WebKit/commit/46375fbc5a6710ec3e2fd10848009e31b307b741
Author: David Degazio <[email protected]>
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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes