mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-10 16:19:28 +01:00
JitCache: Use a pointer in LinkBlockExits.
This commit is contained in:
parent
119dfbb436
commit
ccb8c44a5a
@ -269,9 +269,8 @@ void JitBaseBlockCache::WriteDestroyBlock(const JitBlock& block)
|
|||||||
// Can be faster by doing a queue for blocks to link up, and only process those
|
// Can be faster by doing a queue for blocks to link up, and only process those
|
||||||
// Should probably be done
|
// Should probably be done
|
||||||
|
|
||||||
void JitBaseBlockCache::LinkBlockExits(int i)
|
void JitBaseBlockCache::LinkBlockExits(JitBlock& b)
|
||||||
{
|
{
|
||||||
JitBlock& b = blocks[i];
|
|
||||||
if (b.invalid)
|
if (b.invalid)
|
||||||
{
|
{
|
||||||
// This block is dead. Don't relink it.
|
// This block is dead. Don't relink it.
|
||||||
@ -296,15 +295,15 @@ void JitBaseBlockCache::LinkBlockExits(int i)
|
|||||||
|
|
||||||
void JitBaseBlockCache::LinkBlock(int i)
|
void JitBaseBlockCache::LinkBlock(int i)
|
||||||
{
|
{
|
||||||
LinkBlockExits(i);
|
JitBlock& b = blocks[i];
|
||||||
const JitBlock& b = blocks[i];
|
LinkBlockExits(b);
|
||||||
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)
|
||||||
{
|
{
|
||||||
const JitBlock& b2 = blocks[iter->second];
|
JitBlock& b2 = blocks[iter->second];
|
||||||
if (b.msrBits == b2.msrBits)
|
if (b.msrBits == b2.msrBits)
|
||||||
LinkBlockExits(iter->second);
|
LinkBlockExits(b2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -155,7 +155,7 @@ private:
|
|||||||
virtual void WriteLinkBlock(const JitBlock::LinkData& source, const JitBlock* dest) = 0;
|
virtual void WriteLinkBlock(const JitBlock::LinkData& source, const JitBlock* dest) = 0;
|
||||||
virtual void WriteDestroyBlock(const JitBlock& block);
|
virtual void WriteDestroyBlock(const JitBlock& block);
|
||||||
|
|
||||||
void LinkBlockExits(int i);
|
void LinkBlockExits(JitBlock& b);
|
||||||
void LinkBlock(int i);
|
void LinkBlock(int i);
|
||||||
void UnlinkBlock(int i);
|
void UnlinkBlock(int i);
|
||||||
void DestroyBlock(int block_num, bool invalidate);
|
void DestroyBlock(int block_num, bool invalidate);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user