MMU: simplify code to restore original data register after failed load
Instead of passing the value around constantly, just store it in the regcache, note where it is, and restore it on the exception path. This saves a whole bunch of pushing and popping and gives a ~5% speed boost in Rebel Strike. It's a bit ugly, but it simplifies a lot of code and is faster, too.
This commit is contained in:
1 parent
53b44ccb3a
commit
8903df7300
10 files changed
+89
-102
No files matched your search
@@ -96,13 +96,6 @@ u16 Read_U16(const u32 address);
|
||||
u32 Read_U32(const u32 address);
|
||||
u64 Read_U64(const u32 address);
|
||||
|
||||
u32 Read_S8_Val(const u32 address, u32 var);
|
||||
u32 Read_U8_Val(const u32 address, u32 var);
|
||||
u32 Read_S16_Val(const u32 address, u32 var);
|
||||
u32 Read_U16_Val(const u32 address, u32 var);
|
||||
u32 Read_U32_Val(const u32 address, u32 var);
|
||||
u64 Read_U64_Val(const u32 address, u64 var);
|
||||
|
||||
// Useful helper functions, used by ARM JIT
|
||||
float Read_F32(const u32 address);
|
||||
double Read_F64(const u32 address);
|
||||
|
||||
Reference in new issue
Block a user