jit: Run invalidates immediately.

Previously, I thought we might clear native code when invalidating - we
don't.  We only do that when clearing.
This commit is contained in:
Unknown W. Brackets 2022-10-15 18:44:21 -07:00
parent cbe31af8cf
commit 0226d95000

View File

@ -365,15 +365,10 @@ void MIPSState::ProcessPendingClears() {
void MIPSState::InvalidateICache(u32 address, int length) {
// Only really applies to jit.
// Note that the backend is responsible for ensuring native code can still be returned to.
std::lock_guard<std::recursive_mutex> guard(MIPSComp::jitLock);
if (MIPSComp::jit) {
if (coreState == CORE_RUNNING || insideJit) {
pendingClears.emplace_back(address, length);
hasPendingClears = true;
CoreTiming::ForceCheck();
} else {
MIPSComp::jit->InvalidateCacheAt(address, length);
}
MIPSComp::jit->InvalidateCacheAt(address, length);
}
}