mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-03-01 02:26:10 +00:00
riscv: Fix crash on clear icache.
Oops, can't avoid marking all blocks invalid. Luckily a syscall should always take more bytes than the bail invalidated block code.
This commit is contained in:
parent
87668a5720
commit
3f8f8d36d9
@ -428,15 +428,9 @@ void IRNativeJit::InvalidateCacheAt(u32 em_address, int length) {
|
||||
std::vector<int> numbers = blocks_.FindInvalidatedBlockNumbers(em_address, length);
|
||||
for (int block_num : numbers) {
|
||||
auto block = blocks_.GetBlock(block_num);
|
||||
if (em_address != 0 || length < 0x1FFFFFFF) {
|
||||
backend_->InvalidateBlock(block, block_num);
|
||||
}
|
||||
backend_->InvalidateBlock(block, block_num);
|
||||
block->Destroy(block->GetTargetOffset());
|
||||
}
|
||||
|
||||
if (em_address == 0 && length >= 0x1FFFFFFF) {
|
||||
backend_->ClearAllBlocks();
|
||||
}
|
||||
}
|
||||
|
||||
bool IRNativeJit::DescribeCodePtr(const u8 *ptr, std::string &name) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user