Skip to content

Commit

Permalink
Bail out on a delay slot in VFPU on arm also.
Browse files Browse the repository at this point in the history
Otherwise we loop infinitely.

Workaround for hrydgard#1926.  Should fix hrydgard#1679.
  • Loading branch information
unknownbrackets committed Jun 3, 2013
1 parent af940df commit a640ac4
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions Core/MIPS/ARM/ArmCompBranch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,10 @@ void Jit::Comp_FPUBranch(u32 op)
// If likely is set, discard the branch slot if NOT taken.
void Jit::BranchVFPUFlag(u32 op, ArmGen::CCFlags cc, bool likely)
{
if (js.inDelaySlot) {
ERROR_LOG_REPORT(JIT, "Branch in VFPU delay slot at %08x", js.compilerPC);
return;
}
int offset = (signed short)(op & 0xFFFF) << 2;
u32 targetAddr = js.compilerPC + offset + 4;

Expand Down

0 comments on commit a640ac4

Please sign in to comment.