Browse Source

fx

lizzie/regalloc-exclude-rbp
lizzie 6 days ago
committed by crueter
parent
commit
c88da9d9a4
  1. 3
      src/dynarmic/src/dynarmic/backend/x64/abi.cpp

3
src/dynarmic/src/dynarmic/backend/x64/abi.cpp

@ -47,6 +47,8 @@ void ABI_PushRegistersAndAdjustStack(BlockOfCode& code, const size_t frame_size,
const size_t num_xmms = (ABI_ALL_XMMS & regs).count();
const FrameInfo frame_info = CalculateFrameInfo(num_gprs, num_xmms, frame_size);
code.push(rbp);
code.mov(rbp, rsp);
for (size_t i = 0; i < regs.size(); ++i)
if (regs[i] && HostLocIsGPR(HostLoc(i)))
code.push(HostLocToReg64(HostLoc(i)));
@ -87,6 +89,7 @@ void ABI_PopRegistersAndAdjustStack(BlockOfCode& code, const size_t frame_size,
for (int32_t i = regs.size() - 1; i >= 0; --i)
if (regs[i] && HostLocIsGPR(HostLoc(i)))
code.pop(HostLocToReg64(HostLoc(i)));
code.pop(rbp);
}
void ABI_PushCalleeSaveRegistersAndAdjustStack(BlockOfCode& code, const std::size_t frame_size) {

Loading…
Cancel
Save