Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Remove uses of Options::useWebAssemblySIMD.
https://bugs.webkit.org/show_bug.cgi?id=248917 Reviewed by Yusuke Suzuki. This patch removes useWebAssemblySIMD everywhere except for when we are parsing WASM functions. Using vectors throughout our code causes a 7% JS2 regression, so we need to gate conservative vector behaviour behind a flag. Previously, this was the global feature flag. Now, we check per-function if SIMD instructions are used. We also enable the B3 JIT, since SIMD functions already should not be tiering up. A subsequent patch should hopefully turn on this option by default without regressing non-simd code. In preparation for that, we also ensure that we are not reducing test coverage by enabling SIMD. * JSTests/wasm/stress/simd-const-spill.js: * JSTests/wasm/stress/simd-const.js: * JSTests/wasm/stress/simd-kitchen-sink.js: * JSTests/wasm/stress/simd-load.js: * JSTests/wasm/stress/simd-register-allocation.js: * JSTests/wasm/stress/simd-return-value-alignment.js: * JSTests/wasm/v8/exceptions-simd.js: * JSTests/wasm/v8/liftoff-simd-params.js: * JSTests/wasm/v8/multi-value-simd.js: * JSTests/wasm/v8/regress/regress-10309.js: * JSTests/wasm/v8/regress/regress-1054466.js: * JSTests/wasm/v8/regress/regress-1065599.js: * JSTests/wasm/v8/regress/regress-1070078.js: * JSTests/wasm/v8/regress/regress-1081030.js: * JSTests/wasm/v8/regress/regress-10831.js: * JSTests/wasm/v8/regress/regress-1111522.js: * JSTests/wasm/v8/regress/regress-1112124.js: * JSTests/wasm/v8/regress/regress-1116019.js: * JSTests/wasm/v8/regress/regress-1124885.js: * JSTests/wasm/v8/regress/regress-1132461.js: * JSTests/wasm/v8/regress/regress-1161555.js: * JSTests/wasm/v8/regress/regress-1161654.js: * JSTests/wasm/v8/regress/regress-1161954.js: * JSTests/wasm/v8/regress/regress-1165966.js: * JSTests/wasm/v8/regress/regress-1179182.js: * JSTests/wasm/v8/regress/regress-1187831.js: * JSTests/wasm/v8/regress/regress-1188975.js: * JSTests/wasm/v8/regress/regress-1199662.js: * JSTests/wasm/v8/regress/regress-1231950.js: * JSTests/wasm/v8/regress/regress-1242300.js: * JSTests/wasm/v8/regress/regress-1242689.js: * JSTests/wasm/v8/regress/regress-1264462.js: * JSTests/wasm/v8/regress/regress-1271244.js: * JSTests/wasm/v8/regress/regress-1271456.js: * JSTests/wasm/v8/regress/regress-1271538.js: * JSTests/wasm/v8/regress/regress-1282224.js: * JSTests/wasm/v8/regress/regress-1283042.js: * JSTests/wasm/v8/regress/regress-1283395.js: * JSTests/wasm/v8/regress/regress-1284980.js: * JSTests/wasm/v8/regress/regress-1286253.js: * JSTests/wasm/v8/regress/regress-1289678.js: * JSTests/wasm/v8/regress/regress-1290079.js: * JSTests/wasm/v8/regress/regress-9447.js: * JSTests/wasm/v8/regress/regress-crbug-1338980.js: * JSTests/wasm/v8/regress/regress-crbug-1355070.js: * JSTests/wasm/v8/regress/regress-crbug-1356718.js: * JSTests/wasm/v8/simd-call.js: * JSTests/wasm/v8/simd-errors.js: * JSTests/wasm/v8/simd-globals.js: * JSTests/wasm/v8/simd-i64x2-mul.js: * Source/JavaScriptCore/b3/B3PatchpointSpecial.cpp: (JSC::B3::PatchpointSpecial::forEachArg): * Source/JavaScriptCore/b3/B3Procedure.h: (JSC::B3::Procedure::setIsSIMD): (JSC::B3::Procedure::isSIMD const): * Source/JavaScriptCore/b3/B3ValueRep.cpp: (JSC::B3::ValueRep::addUsedRegistersTo const): (JSC::B3::ValueRep::usedRegisters const): * Source/JavaScriptCore/b3/B3ValueRep.h: (JSC::B3::ValueRep::usedRegisters): * Source/JavaScriptCore/b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp: (JSC::B3::Air::GenerateAndAllocateRegisters::flush): (JSC::B3::Air::GenerateAndAllocateRegisters::alloc): (JSC::B3::Air::GenerateAndAllocateRegisters::prepareForGeneration): (JSC::B3::Air::GenerateAndAllocateRegisters::generate): * Source/JavaScriptCore/b3/air/AirAllocateRegistersAndStackByLinearScan.cpp: * Source/JavaScriptCore/b3/air/AirCCallSpecial.cpp: (JSC::B3::Air::CCallSpecial::CCallSpecial): (JSC::B3::Air::CCallSpecial::forEachArg): * Source/JavaScriptCore/b3/air/AirCCallSpecial.h: * Source/JavaScriptCore/b3/air/AirCode.cpp: (JSC::B3::Air::Code::cCallSpecial): (JSC::B3::Air::Code::isSIMD const): * Source/JavaScriptCore/b3/air/AirCode.h: * Source/JavaScriptCore/b3/air/AirEmitShuffle.cpp: (JSC::B3::Air::emitShuffle): * Source/JavaScriptCore/b3/air/AirLowerAfterRegAlloc.cpp: (JSC::B3::Air::lowerAfterRegAlloc): * Source/JavaScriptCore/b3/air/AirRegLiveness.cpp: (JSC::B3::Air::RegLiveness::LocalCalcForUnifiedTmpLiveness::LocalCalcForUnifiedTmpLiveness): (JSC::B3::Air::RegLiveness::LocalCalcForUnifiedTmpLiveness::execute): * Source/JavaScriptCore/b3/air/AirTmpWidth.cpp: (JSC::B3::Air::TmpWidth::recompute): * Source/JavaScriptCore/ftl/FTLJITCode.cpp: (JSC::FTL::JITCode::liveRegistersToPreserveAtExceptionHandlingCallSite): * Source/JavaScriptCore/jit/ScratchRegisterAllocator.cpp: (JSC::ScratchRegisterAllocator::allocateScratch): (JSC::ScratchRegisterAllocator::preserveReusedRegistersByPushing): (JSC::ScratchRegisterAllocator::restoreReusedRegistersByPopping): * Source/JavaScriptCore/runtime/Options.cpp: (JSC::Options::notifyOptionsChanged): * Source/JavaScriptCore/runtime/OptionsList.h: * Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp: (JSC::Wasm::AirIRGenerator::emitEntryTierUpCheck): (JSC::Wasm::AirIRGenerator::emitCatchImpl): (JSC::Wasm::AirIRGenerator::addThrow): (JSC::Wasm::AirIRGenerator::addRethrow): (JSC::Wasm::AirIRGenerator::emitCallPatchpoint): (JSC::Wasm::parseAndCompileAir): * Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::B3IRGenerator::emitEntryTierUpCheck): (JSC::Wasm::parseAndCompileB3): * Source/JavaScriptCore/wasm/WasmThunks.cpp: (JSC::Wasm::triggerOMGEntryTierUpThunkGeneratorImpl): (JSC::Wasm::triggerOMGEntryTierUpThunkGeneratorSIMD): (JSC::Wasm::triggerOMGEntryTierUpThunkGeneratorNoSIMD): (JSC::Wasm::triggerOMGEntryTierUpThunkGenerator): Deleted. * Source/JavaScriptCore/wasm/WasmThunks.h: (JSC::Wasm::triggerOMGEntryTierUpThunkGenerator): * Tools/Scripts/run-jsc-stress-tests: Canonical link: https://commits.webkit.org/257632@main
- Loading branch information
1 parent
c1ac965
commit 4ce45cf323661a55744011f98077db15d65380fb
Showing
73 changed files
with
161 additions
and
108 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters