If recompiler block hash table points to wrong block, then walk tree to find correct block instead of recompiling. Speedups of 10-20% on games that were seeing hash aliasing, eg Quake III, System Shock 2, UltraHLE etc
This commit is contained in:
parent
c9111b22a2
commit
36bb949126
4 changed files with 169 additions and 2 deletions
|
|
@ -126,6 +126,8 @@ static void delete_block(codeblock_t *block)
|
|||
fatal("Deleting deleted block\n");
|
||||
block->pc = 0;
|
||||
|
||||
codeblock_tree_delete(block);
|
||||
|
||||
if (block->prev)
|
||||
{
|
||||
block->prev->next = block->next;
|
||||
|
|
@ -425,6 +427,8 @@ void codegen_block_end()
|
|||
// pclog("End block %i\n", block_num);
|
||||
|
||||
recomp_page = -1;
|
||||
|
||||
codeblock_tree_add(block);
|
||||
}
|
||||
|
||||
void codegen_flush()
|
||||
|
|
|
|||
Loading…
Reference in a new issue