⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 280650 in webkit


Ignore:
Timestamp:
Aug 4, 2021, 12:24:47 PM (5 years ago)
Author:
commit-queue@webkit.org
Message:

Unreviewed, reverting r280609.
https://bugs.webkit.org/show_bug.cgi?id=228791

Broke JSC tests on iOS.

Reverted changeset:

"[ARM64] Use link register instead of pinning a register for
materializing big load constants"
https://bugs.webkit.org/show_bug.cgi?id=228710
https://commits.webkit.org/r280609

Location:
trunk/Source/JavaScriptCore
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r280609 r280650  
     12021-08-04  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, reverting r280609.
     4        https://bugs.webkit.org/show_bug.cgi?id=228791
     5
     6        Broke JSC tests on iOS.
     7
     8        Reverted changeset:
     9
     10        "[ARM64] Use link register instead of pinning a register for
     11        materializing big load constants"
     12        https://bugs.webkit.org/show_bug.cgi?id=228710
     13        https://commits.webkit.org/r280609
     14
    1152021-08-03  Yijia Huang  <yijia_huang@apple.com>
    216
  • trunk/Source/JavaScriptCore/b3/B3Common.cpp

    r280609 r280650  
    6868}
    6969
    70 std::optional<GPRReg> linkRegister()
     70std::optional<GPRReg> pinnedExtendedOffsetAddrRegister()
    7171{
    7272#if CPU(ARM64)
    73     return MacroAssembler::linkRegister;
     73    return MacroAssembler::dataTempRegister;
    7474#elif CPU(X86_64)
    7575    return std::nullopt;
  • trunk/Source/JavaScriptCore/b3/B3Common.h

    r280609 r280650  
    184184}
    185185
    186 std::optional<GPRReg> linkRegister();
     186std::optional<GPRReg> pinnedExtendedOffsetAddrRegister();
    187187
    188188} } // namespace JSC::B3
  • trunk/Source/JavaScriptCore/b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp

    r280609 r280650  
    145145    }
    146146
    147     ASSERT(linkRegister());
     147    ASSERT(pinnedExtendedOffsetAddrRegister());
    148148    auto addr = Arg::addr(Air::Tmp(GPRInfo::callFrameRegister), offsetFromFP);
    149149    if (addr.isValidForm(Width64))
    150150        return CCallHelpers::Address(GPRInfo::callFrameRegister, offsetFromFP);
    151     GPRReg reg = *linkRegister();
     151    GPRReg reg = *pinnedExtendedOffsetAddrRegister();
    152152    jit.move(CCallHelpers::TrustedImmPtr(offsetFromFP), reg);
    153153    jit.add64(GPRInfo::callFrameRegister, reg);
  • trunk/Source/JavaScriptCore/b3/air/AirCode.cpp

    r280609 r280650  
    9191        });
    9292
     93    if (auto reg = pinnedExtendedOffsetAddrRegister())
     94        pinRegister(*reg);
     95
    9396    m_pinnedRegs.set(MacroAssembler::framePointerRegister);
    9497}
  • trunk/Source/JavaScriptCore/b3/air/AirLowerStackArgs.cpp

    r280609 r280650  
    7979                        inst = Inst(inst.kind.opcode == Lea32 ? Add32 : Add64, inst.origin, Arg::imm(offset), base, inst.args[1]);
    8080                    else {
    81                         Air::Tmp tmp = Air::Tmp(*linkRegister());
     81                        ASSERT(pinnedExtendedOffsetAddrRegister());
     82                        Air::Tmp tmp = Air::Tmp(*pinnedExtendedOffsetAddrRegister());
    8283                        Arg offsetArg = Arg::bigImm(offset);
    8384                        insertionSet.insert(instIndex, Move, inst.origin, offsetArg, tmp);
     
    128129                            return result;
    129130#if CPU(ARM64)
    130                         Air::Tmp tmp = Air::Tmp(*linkRegister());
     131                        ASSERT(pinnedExtendedOffsetAddrRegister());
     132                        Air::Tmp tmp = Air::Tmp(*pinnedExtendedOffsetAddrRegister());
    131133
    132134                        Arg largeOffset = Arg::isValidImmForm(offsetFromSP) ? Arg::imm(offsetFromSP) : Arg::bigImm(offsetFromSP);
Note: See TracChangeset for help on using the changeset viewer.