From aaf834c0322067a68e4dfb12dc1395631efd2dca Mon Sep 17 00:00:00 2001 From: lioncash Date: Mon, 3 Feb 2014 14:40:37 -0500 Subject: [PATCH] Fix the destruction proxy blocks in DestroyBlock() in JitBlockCache.cpp. Prior to this, it was possible for the wrong block to be deleted multiple times. --- Core/MIPS/JitCommon/JitBlockCache.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/MIPS/JitCommon/JitBlockCache.cpp b/Core/MIPS/JitCommon/JitBlockCache.cpp index 7cedf8d492..deb88b88a7 100644 --- a/Core/MIPS/JitCommon/JitBlockCache.cpp +++ b/Core/MIPS/JitCommon/JitBlockCache.cpp @@ -436,7 +436,7 @@ void JitBlockCache::DestroyBlock(int block_num, bool invalidate) { // this block or its 'parent', so now that this block has changed, the root block must be destroyed. for (size_t i = 0; i < b->proxyFor.size(); i++) { int proxied_blocknum = GetBlockNumberFromStartAddress(b->proxyFor[i], false); - DestroyBlock(block_num, invalidate); + DestroyBlock(proxied_blocknum, invalidate); } b->proxyFor.clear(); // TODO: Remove from proxyBlockIndices_.