Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: be8ee0dcf7af603a8aac96d2039e0043433a1644
      
https://github.com/WebKit/WebKit/commit/be8ee0dcf7af603a8aac96d2039e0043433a1644
  Author: Yusuke Suzuki <[email protected]>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
    M Source/JavaScriptCore/b3/B3LowerMacros.cpp
    M Source/JavaScriptCore/b3/air/testair.cpp
    M Source/JavaScriptCore/b3/testb3_4.cpp
    M Source/JavaScriptCore/b3/testb3_5.cpp
    M Source/JavaScriptCore/b3/testb3_6.cpp
    M Source/JavaScriptCore/b3/testb3_7.cpp
    M Source/JavaScriptCore/b3/testb3_8.cpp
    M Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.h
    M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
    M Source/JavaScriptCore/jit/RegisterSet.cpp
    M Source/JavaScriptCore/jit/RegisterSet.h
    M Source/JavaScriptCore/jit/SIMDInfo.cpp
    M Source/JavaScriptCore/wasm/WasmAirIRGenerator32_64.cpp
    M Source/JavaScriptCore/wasm/WasmAirIRGenerator64.cpp
    M Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h
    M Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
    M Source/JavaScriptCore/wasm/WasmCallingConvention.cpp

  Log Message:
  -----------
  [JSC] Exclude fpTempRegister correctly in new wasm BBQ JIT
https://bugs.webkit.org/show_bug.cgi?id=252523
rdar://105624120

Reviewed by Mark Lam.

This patch adds fpTempRegister to excluded register set in new wasm BBQ JIT to 
avoid using it for the other purpose.
This is very rarely used, but let's just exclude it to avoid encoding a bug.
We also clean up register set construction code to make it clear what is 
excluded and what is included.

* Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:
* Source/JavaScriptCore/b3/B3LowerMacros.cpp:
* Source/JavaScriptCore/b3/air/testair.cpp:
* Source/JavaScriptCore/b3/testb3_4.cpp:
(testStoreRelAddFenceLoadAcq8):
(testPatchpointLotsOfLateAnys):
* Source/JavaScriptCore/b3/testb3_5.cpp:
(testPatchpointWithStackArgumentResult):
(testPatchpointWithAnyResult):
* Source/JavaScriptCore/b3/testb3_6.cpp:
(testInterpreter):
(testTerminalPatchpointThatNeedsToBeSpilled):
(testTerminalPatchpointThatNeedsToBeSpilled2):
(testPatchpointTerminalReturnValue):
* Source/JavaScriptCore/b3/testb3_7.cpp:
(testFastTLSLoad):
(testFastTLSStore):
(testShuffleDoesntTrashCalleeSaves):
(testSimpleTuplePair):
(testSimpleTuplePairUnused):
(testSimpleTuplePairStack):
(tailDupedTuplePair):
(tuplePairVariableLoop):
(tupleNestedLoop):
* Source/JavaScriptCore/b3/testb3_8.cpp:
(testWasmAddressDoesNotCSE):
* Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.h:
(JSC::DFG::adjustFrameAndStackInOSRExitCompilerThunk):
* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::lower):
(JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC):
(JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC):
(JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis):
(JSC::FTL::DFG::LowerDFGToB3::getPrivateName):
(JSC::FTL::DFG::LowerDFGToB3::compilePrivateBrandAccess):
(JSC::FTL::DFG::LowerDFGToB3::compilePutPrivateName):
(JSC::FTL::DFG::LowerDFGToB3::cachedPutById):
(JSC::FTL::DFG::LowerDFGToB3::emitGetTypedArrayByteOffsetExceptSettingResult):
(JSC::FTL::DFG::LowerDFGToB3::typedArrayLength):
(JSC::FTL::DFG::LowerDFGToB3::compileGetByValImpl):
(JSC::FTL::DFG::LowerDFGToB3::compilePutByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileDelBy):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
* Source/JavaScriptCore/jit/RegisterSet.cpp:
(JSC::RegisterSetBuilder::macroClobberedGPRs):
(JSC::RegisterSetBuilder::macroClobberedFPRs):
(JSC::RegisterSetBuilder::macroClobberedRegisters): Deleted.
* Source/JavaScriptCore/jit/RegisterSet.h:
* Source/JavaScriptCore/jit/SIMDInfo.cpp:
(WTF::printInternal):
* Source/JavaScriptCore/wasm/WasmAirIRGenerator32_64.cpp:
(JSC::Wasm::AirIRGenerator32::emitCatchImpl):
(JSC::Wasm::AirIRGenerator32::emitCallPatchpoint):
(JSC::Wasm::AirIRGenerator32::addF32ConvertUI32):
(JSC::Wasm::AirIRGenerator32::addF64ConvertUI32):
* Source/JavaScriptCore/wasm/WasmAirIRGenerator64.cpp:
(JSC::Wasm::AirIRGenerator64::emitCatchImpl):
(JSC::Wasm::AirIRGenerator64::emitCallPatchpoint):
(JSC::Wasm::AirIRGenerator64::emitTailCallPatchpoint):
(JSC::Wasm::AirIRGenerator64::addF64ConvertUI64):
(JSC::Wasm::AirIRGenerator64::addF32ConvertUI64):
(JSC::Wasm::AirIRGenerator64::addUncheckedFloatingPointTruncation):
* Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h:
(JSC::Wasm::ExpressionType>::restoreWebAssemblyGlobalState):
(JSC::Wasm::ExpressionType>::emitEntryTierUpCheck):
(JSC::Wasm::ExpressionType>::emitLoopTierUpCheck):
(JSC::Wasm::ExpressionType>::addSwitch):
(JSC::Wasm::ExpressionType>::emitIndirectCall):
* Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::B3IRGenerator):
(JSC::Wasm::B3IRGenerator::reloadMemoryRegistersFromInstance):
(JSC::Wasm::B3IRGenerator::emitIndirectCall):
(JSC::Wasm::B3IRGenerator::truncSaturated):
(JSC::Wasm::B3IRGenerator::emitEntryTierUpCheck):
(JSC::Wasm::B3IRGenerator::emitLoopTierUpCheck):
(JSC::Wasm::B3IRGenerator::emitCatchImpl):
(JSC::Wasm::B3IRGenerator::createCallPatchpoint):
(JSC::Wasm::B3IRGenerator::createTailCallPatchpoint):
(JSC::Wasm::B3IRGenerator::addF64ConvertUI64):
(JSC::Wasm::B3IRGenerator::addF32ConvertUI64):
(JSC::Wasm::B3IRGenerator::addI64TruncUF64):
(JSC::Wasm::B3IRGenerator::addI64TruncUF32):
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJIT::BBQJIT):
* Source/JavaScriptCore/wasm/WasmCallingConvention.cpp:
(JSC::Wasm::wasmCallingConvention):

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to