Changeset 280650 in webkit
- Timestamp:
- Aug 4, 2021, 12:24:47 PM (5 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 6 edited
-
ChangeLog (modified) (1 diff)
-
b3/B3Common.cpp (modified) (1 diff)
-
b3/B3Common.h (modified) (1 diff)
-
b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp (modified) (1 diff)
-
b3/air/AirCode.cpp (modified) (1 diff)
-
b3/air/AirLowerStackArgs.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r280609 r280650 1 2021-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 1 15 2021-08-03 Yijia Huang <yijia_huang@apple.com> 2 16 -
trunk/Source/JavaScriptCore/b3/B3Common.cpp
r280609 r280650 68 68 } 69 69 70 std::optional<GPRReg> linkRegister()70 std::optional<GPRReg> pinnedExtendedOffsetAddrRegister() 71 71 { 72 72 #if CPU(ARM64) 73 return MacroAssembler:: linkRegister;73 return MacroAssembler::dataTempRegister; 74 74 #elif CPU(X86_64) 75 75 return std::nullopt; -
trunk/Source/JavaScriptCore/b3/B3Common.h
r280609 r280650 184 184 } 185 185 186 std::optional<GPRReg> linkRegister();186 std::optional<GPRReg> pinnedExtendedOffsetAddrRegister(); 187 187 188 188 } } // namespace JSC::B3 -
trunk/Source/JavaScriptCore/b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp
r280609 r280650 145 145 } 146 146 147 ASSERT( linkRegister());147 ASSERT(pinnedExtendedOffsetAddrRegister()); 148 148 auto addr = Arg::addr(Air::Tmp(GPRInfo::callFrameRegister), offsetFromFP); 149 149 if (addr.isValidForm(Width64)) 150 150 return CCallHelpers::Address(GPRInfo::callFrameRegister, offsetFromFP); 151 GPRReg reg = * linkRegister();151 GPRReg reg = *pinnedExtendedOffsetAddrRegister(); 152 152 jit.move(CCallHelpers::TrustedImmPtr(offsetFromFP), reg); 153 153 jit.add64(GPRInfo::callFrameRegister, reg); -
trunk/Source/JavaScriptCore/b3/air/AirCode.cpp
r280609 r280650 91 91 }); 92 92 93 if (auto reg = pinnedExtendedOffsetAddrRegister()) 94 pinRegister(*reg); 95 93 96 m_pinnedRegs.set(MacroAssembler::framePointerRegister); 94 97 } -
trunk/Source/JavaScriptCore/b3/air/AirLowerStackArgs.cpp
r280609 r280650 79 79 inst = Inst(inst.kind.opcode == Lea32 ? Add32 : Add64, inst.origin, Arg::imm(offset), base, inst.args[1]); 80 80 else { 81 Air::Tmp tmp = Air::Tmp(*linkRegister()); 81 ASSERT(pinnedExtendedOffsetAddrRegister()); 82 Air::Tmp tmp = Air::Tmp(*pinnedExtendedOffsetAddrRegister()); 82 83 Arg offsetArg = Arg::bigImm(offset); 83 84 insertionSet.insert(instIndex, Move, inst.origin, offsetArg, tmp); … … 128 129 return result; 129 130 #if CPU(ARM64) 130 Air::Tmp tmp = Air::Tmp(*linkRegister()); 131 ASSERT(pinnedExtendedOffsetAddrRegister()); 132 Air::Tmp tmp = Air::Tmp(*pinnedExtendedOffsetAddrRegister()); 131 133 132 134 Arg largeOffset = Arg::isValidImmForm(offsetFromSP) ? Arg::imm(offsetFromSP) : Arg::bigImm(offsetFromSP);
Note:
See TracChangeset
for help on using the changeset viewer.