JitCache: Use a pointer in UnlinkBlock.
This commit is contained in:
parent
eb390f3020
commit
68c85d32f7
|
@ -306,9 +306,8 @@ void JitBaseBlockCache::LinkBlock(JitBlock& b)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void JitBaseBlockCache::UnlinkBlock(int i)
|
void JitBaseBlockCache::UnlinkBlock(const JitBlock& b)
|
||||||
{
|
{
|
||||||
JitBlock& b = blocks[i];
|
|
||||||
auto ppp = links_to.equal_range(b.effectiveAddress);
|
auto ppp = links_to.equal_range(b.effectiveAddress);
|
||||||
|
|
||||||
for (auto iter = ppp.first; iter != ppp.second; ++iter)
|
for (auto iter = ppp.first; iter != ppp.second; ++iter)
|
||||||
|
@ -346,7 +345,7 @@ void JitBaseBlockCache::DestroyBlock(int block_num, bool invalidate)
|
||||||
start_block_map.erase(b.physicalAddress);
|
start_block_map.erase(b.physicalAddress);
|
||||||
FastLookupEntryForAddress(b.effectiveAddress) = 0;
|
FastLookupEntryForAddress(b.effectiveAddress) = 0;
|
||||||
|
|
||||||
UnlinkBlock(block_num);
|
UnlinkBlock(b);
|
||||||
|
|
||||||
// Delete linking addresses
|
// Delete linking addresses
|
||||||
auto it = links_to.equal_range(b.effectiveAddress);
|
auto it = links_to.equal_range(b.effectiveAddress);
|
||||||
|
|
|
@ -157,7 +157,7 @@ private:
|
||||||
|
|
||||||
void LinkBlockExits(JitBlock& b);
|
void LinkBlockExits(JitBlock& b);
|
||||||
void LinkBlock(JitBlock& b);
|
void LinkBlock(JitBlock& b);
|
||||||
void UnlinkBlock(int i);
|
void UnlinkBlock(const JitBlock& b);
|
||||||
void DestroyBlock(int block_num, bool invalidate);
|
void DestroyBlock(int block_num, bool invalidate);
|
||||||
|
|
||||||
void MoveBlockIntoFastCache(u32 em_address, u32 msr);
|
void MoveBlockIntoFastCache(u32 em_address, u32 msr);
|
||||||
|
|
Loading…
Reference in New Issue