Move CODEBLOCK_IN_DIRTY_LIST check to after checking if block needs to be flushed. Improves performance in Eradicator.
This commit is contained in:
parent
ab124776a0
commit
cd9e228b6d
1 changed files with 8 additions and 8 deletions
|
|
@ -341,14 +341,6 @@ void exec386_dynarec(int cycs)
|
|||
}
|
||||
}
|
||||
|
||||
if (valid_block && (block->flags & CODEBLOCK_IN_DIRTY_LIST))
|
||||
{
|
||||
block->flags &= ~CODEBLOCK_WAS_RECOMPILED;
|
||||
if (block->flags & CODEBLOCK_BYTE_MASK)
|
||||
block->flags |= CODEBLOCK_NO_IMMEDIATES;
|
||||
else
|
||||
block->flags |= CODEBLOCK_BYTE_MASK;
|
||||
}
|
||||
if (valid_block && (block->page_mask & *block->dirty_mask))
|
||||
{
|
||||
codegen_check_flush(page, page->dirty_mask, phys_addr);
|
||||
|
|
@ -379,6 +371,14 @@ void exec386_dynarec(int cycs)
|
|||
block->flags &= ~CODEBLOCK_WAS_RECOMPILED;
|
||||
}
|
||||
}
|
||||
if (valid_block && (block->flags & CODEBLOCK_IN_DIRTY_LIST))
|
||||
{
|
||||
block->flags &= ~CODEBLOCK_WAS_RECOMPILED;
|
||||
if (block->flags & CODEBLOCK_BYTE_MASK)
|
||||
block->flags |= CODEBLOCK_NO_IMMEDIATES;
|
||||
else
|
||||
block->flags |= CODEBLOCK_BYTE_MASK;
|
||||
}
|
||||
if (valid_block && (block->flags & CODEBLOCK_WAS_RECOMPILED) && (block->flags & CODEBLOCK_STATIC_TOP) && block->TOP != (cpu_state.TOP & 7))
|
||||
{
|
||||
/*FPU top-of-stack does not match the value this block was compiled
|
||||
|
|
|
|||
Loading…
Reference in a new issue