diff options
author | notaz | 2011-06-14 19:21:55 +0300 |
---|---|---|
committer | notaz | 2011-06-14 19:21:55 +0300 |
commit | 04fd948ab0639acff080434f54212af13ab14ef1 (patch) | |
tree | 85f1c61992bc6507d0d46149485a6086edf3601f /libpcsxcore | |
parent | 9c1517da3ec9533c8722a7a0e5bbf815dbb2909f (diff) | |
download | pcsx_rearmed-04fd948ab0639acff080434f54212af13ab14ef1.tar.gz pcsx_rearmed-04fd948ab0639acff080434f54212af13ab14ef1.tar.bz2 pcsx_rearmed-04fd948ab0639acff080434f54212af13ab14ef1.zip |
drc: re-add bt part that was removed with pass7
..as noticed by Ari64.
Diffstat (limited to 'libpcsxcore')
-rw-r--r-- | libpcsxcore/new_dynarec/new_dynarec.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/libpcsxcore/new_dynarec/new_dynarec.c b/libpcsxcore/new_dynarec/new_dynarec.c index db766b3..712a034 100644 --- a/libpcsxcore/new_dynarec/new_dynarec.c +++ b/libpcsxcore/new_dynarec/new_dynarec.c @@ -10537,6 +10537,19 @@ int new_recompile_block(int addr) } //requires_32bit[i]=is32[i]&~unneeded_reg_upper[i]; // DEBUG } +#else + for (i=slen-1;i>=0;i--) + { + if(itype[i]==CJUMP||itype[i]==SJUMP||itype[i]==FJUMP) + { + // Conditional branch + if((source[i]>>16)!=0x1000&&i<slen-2) { + // Mark this address as a branch target since it may be called + // upon return from interrupt + bt[i+2]=1; + } + } + } #endif if(itype[slen-1]==SPAN) { |