Fix codegen timing flush at end of a block.

This commit is contained in:
SarahW 2019-03-22 20:31:57 +00:00
commit b35cf7de09
2 changed files with 5 additions and 0 deletions

View file

@ -793,6 +793,7 @@ void codegen_block_end()
void codegen_block_end_recompile(codeblock_t *block)
{
codegen_timing_block_end();
codegen_accumulate(ACCREG_cycles, -codegen_block_cycles);
if (block->flags & CODEBLOCK_IN_DIRTY_LIST)
block_dirty_list_remove(block);

View file

@ -2339,7 +2339,11 @@ void codegen_timing_k6_opcode(uint8_t opcode, uint32_t fetchdat, int op_32, uint
void codegen_timing_k6_block_end()
{
if (decode_buffer.nr_uops)
{
int old_last_complete_timestamp = last_complete_timestamp;
decode_flush();
codegen_block_cycles += (last_complete_timestamp - old_last_complete_timestamp);
}
}
int codegen_timing_k6_jump_cycles()