keep a few separate thunkmanagers so they don't all share the same register backup area. seems to fix the single-core-paired-single-x64 issue in mario kart wii, please test the other games that were problematic.

this is probably not the best way to fix it but it'll do for now.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5062 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
hrydgard
2010-02-14 22:37:46 +00:00
parent 14bb1b5f01
commit b245c398a3
7 changed files with 22 additions and 10 deletions

View File

@ -23,8 +23,6 @@
#include "ABI.h"
#include "Thunk.h"
ThunkManager thunks;
#define THUNK_ARENA_SIZE 1024*1024*1
namespace

View File

@ -43,13 +43,17 @@ class ThunkManager : public Gen::XCodeBlock
const u8 *load_regs;
public:
void Init();
void Reset();
void Shutdown();
ThunkManager() {
Init();
}
~ThunkManager() {
Shutdown();
}
void *ProtectFunction(void *function, int num_params);
private:
void Init();
void Shutdown();
void Reset();
};
extern ThunkManager thunks;
#endif // _THUNK_H_