[webkit-changes] [WebKit/WebKit] 8de1c7: [JSC] Make scratch GPR / FPR static constexpr vari...

Yusuke Suzuki noreply at github.com
Sat Mar 11 19:19:23 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8de1c7b4175a6d6aaa01ef2899e7b9536c004761
      https://github.com/WebKit/WebKit/commit/8de1c7b4175a6d6aaa01ef2899e7b9536c004761
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2023-03-11 (Sat, 11 Mar 2023)

  Changed paths:
    M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp

  Log Message:
  -----------
  [JSC] Make scratch GPR / FPR static constexpr variables in WasmBBQJIT
https://bugs.webkit.org/show_bug.cgi?id=253754
rdar://106586236

Reviewed by Mark Lam.

This patch adds wasmScratchGPR and wasmScratchFPR static constexpr variables in WasmBBQJIT.
And remove m_scratchGPR / m_scratchFPR. So we can statically define and use these scratch registers.

We also
1. change m_shiftRCX to shiftRCX.
2. use FPRReg / GPRReg instead of RegisterID / FPRegisterID consistently.

* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJIT::BBQJIT):
(JSC::Wasm::BBQJIT::getGlobal):
(JSC::Wasm::BBQJIT::setGlobal):
(JSC::Wasm::BBQJIT::emitCheckAndPreparePointer):
(JSC::Wasm::BBQJIT::addCurrentMemory):
(JSC::Wasm::BBQJIT::truncTrapping):
(JSC::Wasm::BBQJIT::truncSaturated):
(JSC::Wasm::BBQJIT::addSelect):
(JSC::Wasm::BBQJIT::addF32Add):
(JSC::Wasm::BBQJIT::addF64Add):
(JSC::Wasm::BBQJIT::addI32Sub):
(JSC::Wasm::BBQJIT::addI64Sub):
(JSC::Wasm::BBQJIT::addF32Sub):
(JSC::Wasm::BBQJIT::addF64Sub):
(JSC::Wasm::BBQJIT::addI64Mul):
(JSC::Wasm::BBQJIT::addF32Mul):
(JSC::Wasm::BBQJIT::addF64Mul):
(JSC::Wasm::BBQJIT::emitModOrDiv):
(JSC::Wasm::BBQJIT::addF32Div):
(JSC::Wasm::BBQJIT::addF64Div):
(JSC::Wasm::BBQJIT::addF32Min):
(JSC::Wasm::BBQJIT::addF64Min):
(JSC::Wasm::BBQJIT::addF32Max):
(JSC::Wasm::BBQJIT::addF64Max):
(JSC::Wasm::BBQJIT::addI32Shl):
(JSC::Wasm::BBQJIT::addI64Shl):
(JSC::Wasm::BBQJIT::addI32ShrS):
(JSC::Wasm::BBQJIT::addI64ShrS):
(JSC::Wasm::BBQJIT::addI32ShrU):
(JSC::Wasm::BBQJIT::addI64ShrU):
(JSC::Wasm::BBQJIT::addI32Rotl):
(JSC::Wasm::BBQJIT::addI64Rotl):
(JSC::Wasm::BBQJIT::addI32Rotr):
(JSC::Wasm::BBQJIT::addI64Rotr):
(JSC::Wasm::BBQJIT::emitCompareI64):
(JSC::Wasm::BBQJIT::emitCompareF32):
(JSC::Wasm::BBQJIT::emitCompareF64):
(JSC::Wasm::BBQJIT::addF32ConvertUI32):
(JSC::Wasm::BBQJIT::addF32ConvertUI64):
(JSC::Wasm::BBQJIT::addF64ConvertUI32):
(JSC::Wasm::BBQJIT::addF64ConvertUI64):
(JSC::Wasm::BBQJIT::addF32Copysign):
(JSC::Wasm::BBQJIT::addF64Copysign):
(JSC::Wasm::BBQJIT::addF32Abs):
(JSC::Wasm::BBQJIT::addF64Abs):
(JSC::Wasm::BBQJIT::addF32Neg):
(JSC::Wasm::BBQJIT::addF64Neg):
(JSC::Wasm::BBQJIT::addRefAsNonNull):
(JSC::Wasm::BBQJIT::emitEntryTierUpCheck):
(JSC::Wasm::BBQJIT::addTopLevel):
(JSC::Wasm::BBQJIT::addLoopOSREntrypoint):
(JSC::Wasm::BBQJIT::emitLoopTierUpCheck):
(JSC::Wasm::BBQJIT::addIf):
(JSC::Wasm::BBQJIT::emitCatchPrologue):
(JSC::Wasm::BBQJIT::emitCatchImpl):
(JSC::Wasm::BBQJIT::addBranch):
(JSC::Wasm::BBQJIT::addSwitch):
(JSC::Wasm::BBQJIT::restoreWebAssemblyGlobalState):
(JSC::Wasm::BBQJIT::emitCCall):
(JSC::Wasm::BBQJIT::addCall):
(JSC::Wasm::BBQJIT::emitIndirectCall):
(JSC::Wasm::BBQJIT::addCallIndirect):
(JSC::Wasm::BBQJIT::addSIMDShuffle):
(JSC::Wasm::BBQJIT::addSIMDShift):
(JSC::Wasm::BBQJIT::addSIMDExtmul):
(JSC::Wasm::BBQJIT::addSIMDLoadSplat):
(JSC::Wasm::BBQJIT::materializeVectorConstant):
(JSC::Wasm::BBQJIT::addReplaceLane):
(JSC::Wasm::BBQJIT::addSIMDI_V):
(JSC::Wasm::BBQJIT::addSIMDV_V):
(JSC::Wasm::BBQJIT::addSIMDBitwiseSelect):
(JSC::Wasm::BBQJIT::addSIMDRelOp):
(JSC::Wasm::BBQJIT::emitVectorMul):
(JSC::Wasm::BBQJIT::fixupOutOfBoundsIndicesForSwizzle):
(JSC::Wasm::BBQJIT::addSIMDV_VV):
(JSC::Wasm::BBQJIT::isScratch):
(JSC::Wasm::BBQJIT::emitMoveMemory):

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




More information about the webkit-changes mailing list