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: end block on syscall and hlecall, not insn after them
[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
2f42f43
..
2e7f75a
100644
(file)
--- a/
libpcsxcore/new_dynarec/new_dynarec.c
+++ b/
libpcsxcore/new_dynarec/new_dynarec.c
@@
-8104,7
+8104,7
@@
int new_recompile_block(int addr)
case 0x3B: strcpy(insn[i],"HLECALL"); type=HLECALL; break;
#endif
default: strcpy(insn[i],"???"); type=NI;
case 0x3B: strcpy(insn[i],"HLECALL"); type=HLECALL; break;
#endif
default: strcpy(insn[i],"???"); type=NI;
- printf("NI %08x @%08x
\n", source[i], addr + i*4
);
+ printf("NI %08x @%08x
(%08x)\n", source[i], addr + i*4, addr
);
break;
}
itype[i]=type;
break;
}
itype[i]=type;
@@
-8359,9
+8359,9
@@
int new_recompile_block(int addr)
// Don't get too close to the limit
if(i>MAXBLOCK/2) done=1;
}
// Don't get too close to the limit
if(i>MAXBLOCK/2) done=1;
}
- if(i
>0&&itype[i-1
]==SYSCALL&&stop_after_jal) done=1;
- if(itype[i
-1
]==HLECALL) done=1;
- assert(i<MAXBLOCK-1);
+ if(i
type[i
]==SYSCALL&&stop_after_jal) done=1;
+ if(itype[i]==HLECALL) done=1;
+
//
assert(i<MAXBLOCK-1);
if(start+i*4==pagelimit-4) done=1;
assert(start+i*4<pagelimit);
if (i==MAXBLOCK-1) done=1;
if(start+i*4==pagelimit-4) done=1;
assert(start+i*4<pagelimit);
if (i==MAXBLOCK-1) done=1;