Core/DSPCore: Make the JIT blocks return the number of cycles executed.

The block_size seems to be not reliable, even after trying to more closely match
the interpreter by looking at the analysis for (addr+opcode->size-1) for detecting
the end of the block.

Since we need to "calculate" this number shortly before returning to
RunForCycles, it seemed logical to use the (up to now) unused return value
of the blocks.

Improves SMG2 here.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6266 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
pierre
2010-10-09 21:43:57 +00:00
parent ccb4645f24
commit 34909ecebc
2 changed files with 19 additions and 14 deletions

View File

@ -25,7 +25,7 @@
#define MAX_BLOCKS 0x10000
typedef void (*CompiledCode)();
typedef u32 (*CompiledCode)();
class DSPEmitter : public Gen::XCodeBlock
{
@ -49,7 +49,7 @@ public:
// Register helpers
void setCompileSR(u16 bit);
void clrCompileSR(u16 bit);
void checkExceptions();
void checkExceptions(u32 retval);
// Memory helper functions
void increment_addr_reg(int reg);