Skip to content
Permalink
Browse files
Merge pull request #6829 from stenzek/jit-flush-constants
Jit64: Invalidate cached constant values w/o host register on flush
  • Loading branch information
degasus committed May 12, 2018
2 parents 22ceecc + a446b09 commit 6707357
Showing 1 changed file with 7 additions and 0 deletions.
@@ -101,6 +101,13 @@ void RegCache::Flush(FlushMode mode, BitSet32 regsToFlush)
ASSERT_MSG(DYNA_REC, 0, "Jit64 - Flush unhandled case, reg %u PC: %08x", i, PC);
}
}
else if (m_regs[i].location.IsImm())
{
// We can have a cached value without a host register through speculative constants.
// It must be cleared when flushing, otherwise it may be out of sync with PPCSTATE,
// if PPCSTATE is modified externally (e.g. fallback to interpreter).
m_regs[i].location = GetDefaultLocation(i);
}
}
}

0 comments on commit 6707357

Please sign in to comment.