Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 07c88b96b2232cb51aaa281cccd40b72c2631a46
      
https://github.com/WebKit/WebKit/commit/07c88b96b2232cb51aaa281cccd40b72c2631a46
  Author: Yusuke Suzuki <[email protected]>
  Date:   2025-03-12 (Wed, 12 Mar 2025)

  Changed paths:
    M Source/JavaScriptCore/assembler/MacroAssembler.h
    M Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
    M Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h
    M Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h
    M Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h
    M Source/JavaScriptCore/dfg/DFGOSRExit.cpp
    M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
    M Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
    M Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp
    M Source/JavaScriptCore/jit/AssemblyHelpers.cpp
    M Source/JavaScriptCore/jit/JITBitAndGenerator.cpp
    M Source/JavaScriptCore/jit/JITBitOrGenerator.cpp
    M Source/JavaScriptCore/jit/JITBitXorGenerator.cpp
    M Source/JavaScriptCore/jit/JITDivGenerator.cpp
    M Source/JavaScriptCore/jit/JITInlines.h
    M Source/JavaScriptCore/jit/JITLeftShiftGenerator.cpp
    M Source/JavaScriptCore/jit/JITNegGenerator.cpp
    M Source/JavaScriptCore/jit/JITOpcodes.cpp
    M Source/JavaScriptCore/jit/JITRightShiftGenerator.cpp
    M Source/JavaScriptCore/jit/JITSubGenerator.cpp
    M Source/JavaScriptCore/jit/SetupVarargsFrame.cpp
    M Source/JavaScriptCore/yarr/YarrJIT.cpp

  Log Message:
  -----------
  [JSC] Use 3-operand instructions more in Baseline / DFG
https://bugs.webkit.org/show_bug.cgi?id=289521
rdar://146728227

Reviewed by Michael Saboff.

Use 3-operand instructions more in Baseline / DFG as it can reduce code
size in ARM64.

* Source/JavaScriptCore/assembler/MacroAssembler.h:
(JSC::MacroAssembler::rshift32):
(JSC::MacroAssembler::urshift32):
* Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::rshift32):
(JSC::MacroAssemblerARM64::urshift32):
* Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::rshift32):
(JSC::MacroAssemblerARMv7::urshift32):
* Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h:
(JSC::MacroAssemblerRISCV64::rshift32):
(JSC::MacroAssemblerRISCV64::urshift32):
* Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::rshift32):
(JSC::MacroAssemblerX86_64::urshift32):
(JSC::MacroAssemblerX86_64::sub32):
(JSC::MacroAssemblerX86_64::sub64):
* Source/JavaScriptCore/dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::compileExit):
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNullOrUndefined):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNullOrUndefined):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileToBooleanObjectOrOther):
(JSC::DFG::SpeculativeJIT::compileToBoolean):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
* Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
* Source/JavaScriptCore/jit/AssemblyHelpers.cpp:
(JSC::emitRandomThunkImpl):
(JSC::AssemblyHelpers::wangsInt64Hash):
* Source/JavaScriptCore/jit/JITBitAndGenerator.cpp:
(JSC::JITBitAndGenerator::generateFastPath):
* Source/JavaScriptCore/jit/JITBitOrGenerator.cpp:
(JSC::JITBitOrGenerator::generateFastPath):
* Source/JavaScriptCore/jit/JITBitXorGenerator.cpp:
(JSC::JITBitXorGenerator::generateFastPath):
* Source/JavaScriptCore/jit/JITDivGenerator.cpp:
(JSC::JITDivGenerator::generateFastPath):
* Source/JavaScriptCore/jit/JITInlines.h:
(JSC::JIT::emitJumpIfNotInt):
* Source/JavaScriptCore/jit/JITLeftShiftGenerator.cpp:
(JSC::JITLeftShiftGenerator::generateFastPath):
* Source/JavaScriptCore/jit/JITNegGenerator.cpp:
(JSC::JITNegGenerator::generateInline):
(JSC::JITNegGenerator::generateFastPath):
* Source/JavaScriptCore/jit/JITOpcodes.cpp:
(JSC::JIT::compileOpStrictEq):
(JSC::JIT::compileOpStrictEqJump):
* Source/JavaScriptCore/jit/JITRightShiftGenerator.cpp:
(JSC::JITRightShiftGenerator::generateFastPath):
* Source/JavaScriptCore/jit/JITSubGenerator.cpp:
(JSC::JITSubGenerator::generateInline):
(JSC::JITSubGenerator::generateFastPath):
* Source/JavaScriptCore/jit/SetupVarargsFrame.cpp:
(JSC::emitSetVarargsFrame):
* Source/JavaScriptCore/yarr/YarrJIT.cpp:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to