[webkit-changes] [WebKit/WebKit] dc849c: Enable FTL on Windows
Ian
noreply at github.com
Tue Jul 9 09:37:31 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: dc849c8a2bb93c274ed63817818bda68ba05bb7e
https://github.com/WebKit/WebKit/commit/dc849c8a2bb93c274ed63817818bda68ba05bb7e
Author: Ian Grunert <ian.grunert at gmail.com>
Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths:
M Source/JavaScriptCore/assembler/ProbeContext.cpp
M Source/JavaScriptCore/assembler/ProbeContext.h
M Source/JavaScriptCore/assembler/testmasm.cpp
M Source/JavaScriptCore/b3/B3LowerToAir.cpp
M Source/JavaScriptCore/b3/B3Validate.cpp
M Source/JavaScriptCore/b3/air/opcode_generator.rb
M Source/JavaScriptCore/b3/air/testair.cpp
M Source/JavaScriptCore/b3/testb3.h
M Source/JavaScriptCore/b3/testb3_2.cpp
M Source/JavaScriptCore/b3/testb3_3.cpp
M Source/JavaScriptCore/b3/testb3_4.cpp
M Source/JavaScriptCore/b3/testb3_5.cpp
M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
M Source/JavaScriptCore/jit/RegisterSet.cpp
M Source/JavaScriptCore/llint/LowLevelInterpreter.asm
M Source/JavaScriptCore/runtime/Options.cpp
M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
M Source/JavaScriptCore/wasm/WasmBBQJIT.h
M Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp
M Source/JavaScriptCore/wasm/WasmIRGeneratorHelpers.h
M Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp
M Source/cmake/OptionsJSCOnly.cmake
M Source/cmake/OptionsWin.cmake
Log Message:
-----------
Enable FTL on Windows
https://bugs.webkit.org/show_bug.cgi?id=145366
Reviewed by Yusuke Suzuki.
Disabling BBQ and OMG JIT for now, there's some edge cases which are
currently broken.
Fixes to testmasm, broken by previous sysv abi work.
B3 float mod tests were broken on Windows due to differences between
fmod(double, double) used within MathCommon fmodDouble, and the
fmod(float, float) used within the tests. Using fmodl in the tests so
they match behaviour with compiled B3.
The countLeadingZero implementation for testClz* tests had an off-by-one
error on Windows - using builtin __lzcnt64 and __lzcnt instead.
Had to precommit stack memory for testCallFunctionWithHellaArguments3 to
avoid accessing stack memory past the stack guard page.
* Source/JavaScriptCore/assembler/ProbeContext.cpp:
(JSC::Probe::flushDirtyStackPages):
* Source/JavaScriptCore/assembler/ProbeContext.h:
* Source/JavaScriptCore/assembler/testmasm.cpp:
(JSC::invoke):
(JSC::testStoreBaseIndex):
* Source/JavaScriptCore/b3/B3LowerToAir.cpp:
* Source/JavaScriptCore/b3/B3Validate.cpp:
* Source/JavaScriptCore/b3/air/opcode_generator.rb:
* Source/JavaScriptCore/b3/air/testair.cpp:
* Source/JavaScriptCore/b3/testb3.h:
(invoke):
* Source/JavaScriptCore/b3/testb3_2.cpp:
(testModArgFloat):
(testModArgsFloat):
(testModArgImmFloat):
(testModImmArgFloat):
(testModImmsFloat):
* Source/JavaScriptCore/b3/testb3_3.cpp:
(countLeadingZero):
* Source/JavaScriptCore/b3/testb3_4.cpp:
(testLoadFromFramePointer):
* Source/JavaScriptCore/b3/testb3_5.cpp:
(preCommitStackMemory):
(testCallFunctionWithHellaArguments3):
* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
* Source/JavaScriptCore/jit/RegisterSet.cpp:
(JSC::RegisterSetBuilder::ftlCalleeSaveRegisters):
* Source/JavaScriptCore/llint/LowLevelInterpreter.asm:
* Source/JavaScriptCore/runtime/Options.cpp:
(JSC::Options::notifyOptionsChanged):
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJITImpl::RegisterBinding::none):
* Source/JavaScriptCore/wasm/WasmBBQJIT.h:
* Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp:
(JSC::Wasm::BBQJITImpl::BBQJIT::addSIMDV_V):
* Source/JavaScriptCore/wasm/WasmIRGeneratorHelpers.h:
(JSC::Wasm::buildEntryBufferForCatchSIMD):
(JSC::Wasm::buildEntryBufferForCatchNoSIMD):
* Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp:
* Source/cmake/OptionsJSCOnly.cmake:
* Source/cmake/OptionsWin.cmake:
Canonical link: https://commits.webkit.org/280777@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list