[webkit-changes] [WebKit/WebKit] eef42e: [JSC] GetByOffset etc. should return DoubleResult ...

Yusuke Suzuki noreply at github.com
Wed Sep 18 10:08:59 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: eef42e8b581b2886013a135b634ee0344fb93b35
      https://github.com/WebKit/WebKit/commit/eef42e8b581b2886013a135b634ee0344fb93b35
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
    M Source/JavaScriptCore/dfg/DFGClobberize.h
    M Source/JavaScriptCore/dfg/DFGMayExit.cpp
    M Source/JavaScriptCore/dfg/DFGValueRepReductionPhase.cpp
    M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp

  Log Message:
  -----------
  [JSC] GetByOffset etc. should return DoubleResult and wipe unnecessary fmov
https://bugs.webkit.org/show_bug.cgi?id=279857
rdar://136189239

Reviewed by Yijia Huang.

This patch adds GetByOffset, MultiGetByOffset, GetClosureVar, GetGlobalVariable
hanldings in DFGValueRepReductionPhase. When entire GetByOffset etc. use is limited
to DoubleRep, we should load it as double and do unboxing in FPRReg
instead of moving it from GPRReg so that we can remove unnecessary fmov
instructions.

* Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:
* Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* Source/JavaScriptCore/dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* Source/JavaScriptCore/dfg/DFGValueRepReductionPhase.cpp:
(JSC::DFG::ValueRepReductionPhase::convertValueRepsToDouble):
* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::unboxRealNumberDouble):
(JSC::FTL::DFG::LowerDFGToB3::compileGetByOffset):
(JSC::FTL::DFG::LowerDFGToB3::compileMultiGetByOffset):
(JSC::FTL::DFG::LowerDFGToB3::compileGetGlobalVariable):
(JSC::FTL::DFG::LowerDFGToB3::compileGetClosureVar):

Canonical link: https://commits.webkit.org/283849@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