notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
drc: fix $ra evicting on JAL
[pcsx_rearmed.git]
/
libpcsxcore
/
new_dynarec
/
new_dynarec.c
diff --git
a/libpcsxcore/new_dynarec/new_dynarec.c
b/libpcsxcore/new_dynarec/new_dynarec.c
index
05c54ee
..
573d0cd
100644
(file)
--- a/
libpcsxcore/new_dynarec/new_dynarec.c
+++ b/
libpcsxcore/new_dynarec/new_dynarec.c
@@
-690,6
+690,10
@@
void lsn(u_char hsn[], int i, int *preferred_reg)
hsn[RHASH]=1;
hsn[RHTBL]=1;
}
hsn[RHASH]=1;
hsn[RHTBL]=1;
}
+ // due to the way JAL is currently done we need DS not to evict $ra
+ if(i>0&&itype[i-1]==UJUMP&&rt1[i-1]==31) {
+ hsn[31]=0;
+ }
// Coprocessor load/store needs FTEMP, even if not declared
if(itype[i]==C1LS||itype[i]==C2LS) {
hsn[FTEMP]=0;
// Coprocessor load/store needs FTEMP, even if not declared
if(itype[i]==C1LS||itype[i]==C2LS) {
hsn[FTEMP]=0;