LLE JIT: Changed the ASM dispatcher so that it jumps to the blocks instead of calling them. This removes the need to push and pop all of the registers at each block, speeding up the JIT. Changed the cycle counting to work off memory accesses instead of a register. Removed the C++ JIT dispatcher because it will no longer work with this new format.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6858 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
skidau
2011-01-16 06:24:48 +00:00
parent 2cb5a1aa56
commit 7e9f02869a
4 changed files with 21 additions and 79 deletions

View File

@ -50,8 +50,6 @@ public:
void Default(UDSPInstruction inst);
int STACKALIGN RunForCycles(int cycles);
// CC Util
void Update_SR_Register64(Gen::X64Reg val = Gen::EAX);
void Update_SR_Register64_Carry(Gen::X64Reg val = Gen::EAX);
@ -253,6 +251,7 @@ public:
// CALL this to start the dispatcher
const u8 *enterDispatcher;
const u8 *stubEntryPoint;
const u8 *returnDispatcher;
u16 compilePC;
u16 startAddr;
Block *blockLinks;