Skip to content

Commit

Permalink
irjit: Fix breakpoints with block linking.
Browse files Browse the repository at this point in the history
unknownbrackets committed Sep 17, 2023
1 parent 9d058ef commit 7fb67bb
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions Core/MIPS/IR/IRFrontend.cpp
Original file line number Diff line number Diff line change
@@ -339,8 +339,8 @@ void IRFrontend::CheckBreakpoint(u32 addr) {
if (CBreakPoints::IsAddressBreakPoint(addr)) {
FlushAll();

if (GetCompilerPC() != js.blockStart)
ir.Write(IROp::SetPCConst, 0, ir.AddConstant(GetCompilerPC()));
// Can't skip this even at the start of a block, might impact block linking.
ir.Write(IROp::SetPCConst, 0, ir.AddConstant(GetCompilerPC()));

RestoreRoundingMode();
// At this point, downcount HAS the delay slot, but not the instruction itself.
@@ -370,8 +370,8 @@ void IRFrontend::CheckMemoryBreakpoint(int rs, int offset) {
if (CBreakPoints::HasMemChecks()) {
FlushAll();

if (GetCompilerPC() != js.blockStart)
ir.Write(IROp::SetPCConst, 0, ir.AddConstant(GetCompilerPC()));
// Can't skip this even at the start of a block, might impact block linking.
ir.Write(IROp::SetPCConst, 0, ir.AddConstant(GetCompilerPC()));

RestoreRoundingMode();
// At this point, downcount HAS the delay slot, but not the instruction itself.

0 comments on commit 7fb67bb

Please sign in to comment.