X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=libpcsxcore%2Fnew_dynarec%2Fpatches%2Ftrace_drc_chk;fp=libpcsxcore%2Fnew_dynarec%2Fpatches%2Ftrace_drc_chk;h=eca104d6bbe317c8ca9a772374cf8c5b6bb84114;hp=e09af7ac58646c9bd8026c20e1e187c1f1b7ec9b;hb=40fca85b7b5d1a13d8df1a7674487409630d40fe;hpb=06e425d77eb576e3d05ecc5ec0be51b00ca24f57 diff --git a/libpcsxcore/new_dynarec/patches/trace_drc_chk b/libpcsxcore/new_dynarec/patches/trace_drc_chk index e09af7ac..eca104d6 100644 --- a/libpcsxcore/new_dynarec/patches/trace_drc_chk +++ b/libpcsxcore/new_dynarec/patches/trace_drc_chk @@ -48,7 +48,7 @@ index bbc52c3..83c5b08 100644 ldr r0, [fp, #LO_next_interupt] diff --git a/libpcsxcore/new_dynarec/linkage_arm64.S b/libpcsxcore/new_dynarec/linkage_arm64.S -index 698bd78..798abea 100644 +index 444545c..031cee2 100644 --- a/libpcsxcore/new_dynarec/linkage_arm64.S +++ b/libpcsxcore/new_dynarec/linkage_arm64.S @@ -119,7 +119,7 @@ FUNCTION(cc_interrupt): @@ -79,7 +79,7 @@ index 698bd78..798abea 100644 .macro memhandler_post diff --git a/libpcsxcore/new_dynarec/new_dynarec.c b/libpcsxcore/new_dynarec/new_dynarec.c -index 1452db3..8200e44 100644 +index a1d7f6a..3960f3b 100644 --- a/libpcsxcore/new_dynarec/new_dynarec.c +++ b/libpcsxcore/new_dynarec/new_dynarec.c @@ -44,10 +44,10 @@ static int sceBlock; @@ -96,7 +96,7 @@ index 1452db3..8200e44 100644 #define inv_debug(...) #ifdef __i386__ -@@ -423,6 +423,9 @@ static int doesnt_expire_soon(void *tcaddr) +@@ -489,6 +489,9 @@ static int doesnt_expire_soon(void *tcaddr) // This is called from the recompiled JR/JALR instructions void noinline *get_addr(u_int vaddr) { @@ -106,7 +106,7 @@ index 1452db3..8200e44 100644 u_int page=get_page(vaddr); u_int vpage=get_vpage(vaddr); struct ll_entry *head; -@@ -4393,13 +4396,15 @@ void do_cc(int i,signed char i_regmap[],int *adj,int addr,int taken,int invert) +@@ -4485,13 +4492,15 @@ void do_cc(int i,signed char i_regmap[],int *adj,int addr,int taken,int invert) } emit_addimm_and_set_flags(cycles,HOST_CCREG); jaddr=out; @@ -124,7 +124,7 @@ index 1452db3..8200e44 100644 } add_stub(CC_STUB,jaddr,idle?idle:out,(*adj==0||invert||idle)?0:(count+2),i,addr,taken,0); } -@@ -4807,7 +4812,8 @@ static void rjump_assemble(int i,struct regstat *i_regs) +@@ -4899,7 +4908,8 @@ static void rjump_assemble(int i,struct regstat *i_regs) // special case for RFE emit_jmp(0); else @@ -134,7 +134,7 @@ index 1452db3..8200e44 100644 //load_regs_bt(branch_regs[i].regmap,branch_regs[i].dirty,-1); #ifdef USE_MINI_HT if(rs1[i]==31) { -@@ -4912,7 +4918,8 @@ static void cjump_assemble(int i,struct regstat *i_regs) +@@ -5004,7 +5014,8 @@ static void cjump_assemble(int i,struct regstat *i_regs) else if(nop) { emit_addimm_and_set_flags(CLOCK_ADJUST(ccadj[i]+2),cc); void *jaddr=out; @@ -144,7 +144,7 @@ index 1452db3..8200e44 100644 add_stub(CC_STUB,jaddr,out,0,i,start+i*4+8,NOTTAKEN,0); } else { -@@ -5099,7 +5106,8 @@ static void cjump_assemble(int i,struct regstat *i_regs) +@@ -5191,7 +5202,8 @@ static void cjump_assemble(int i,struct regstat *i_regs) emit_loadreg(CCREG,HOST_CCREG); emit_addimm_and_set_flags(CLOCK_ADJUST(ccadj[i]+2),HOST_CCREG); void *jaddr=out; @@ -154,7 +154,7 @@ index 1452db3..8200e44 100644 add_stub(CC_STUB,jaddr,out,0,i,start+i*4+8,NOTTAKEN,0); emit_storereg(CCREG,HOST_CCREG); } -@@ -5108,7 +5116,8 @@ static void cjump_assemble(int i,struct regstat *i_regs) +@@ -5200,7 +5212,8 @@ static void cjump_assemble(int i,struct regstat *i_regs) assert(cc==HOST_CCREG); emit_addimm_and_set_flags(CLOCK_ADJUST(ccadj[i]+2),cc); void *jaddr=out; @@ -164,7 +164,7 @@ index 1452db3..8200e44 100644 add_stub(CC_STUB,jaddr,out,0,i,start+i*4+8,likely[i]?NULLDS:NOTTAKEN,0); } } -@@ -5210,7 +5219,8 @@ static void sjump_assemble(int i,struct regstat *i_regs) +@@ -5302,7 +5315,8 @@ static void sjump_assemble(int i,struct regstat *i_regs) else if(nevertaken) { emit_addimm_and_set_flags(CLOCK_ADJUST(ccadj[i]+2),cc); void *jaddr=out; @@ -174,7 +174,7 @@ index 1452db3..8200e44 100644 add_stub(CC_STUB,jaddr,out,0,i,start+i*4+8,NOTTAKEN,0); } else { -@@ -5366,7 +5376,8 @@ static void sjump_assemble(int i,struct regstat *i_regs) +@@ -5458,7 +5472,8 @@ static void sjump_assemble(int i,struct regstat *i_regs) emit_loadreg(CCREG,HOST_CCREG); emit_addimm_and_set_flags(CLOCK_ADJUST(ccadj[i]+2),HOST_CCREG); void *jaddr=out; @@ -184,7 +184,7 @@ index 1452db3..8200e44 100644 add_stub(CC_STUB,jaddr,out,0,i,start+i*4+8,NOTTAKEN,0); emit_storereg(CCREG,HOST_CCREG); } -@@ -5375,7 +5386,8 @@ static void sjump_assemble(int i,struct regstat *i_regs) +@@ -5467,7 +5482,8 @@ static void sjump_assemble(int i,struct regstat *i_regs) assert(cc==HOST_CCREG); emit_addimm_and_set_flags(CLOCK_ADJUST(ccadj[i]+2),cc); void *jaddr=out; @@ -194,7 +194,7 @@ index 1452db3..8200e44 100644 add_stub(CC_STUB,jaddr,out,0,i,start+i*4+8,likely[i]?NULLDS:NOTTAKEN,0); } } -@@ -5863,7 +5875,7 @@ void unneeded_registers(int istart,int iend,int r) +@@ -5955,7 +5971,7 @@ void unneeded_registers(int istart,int iend,int r) // R0 is always unneeded u|=1; // Save it @@ -203,7 +203,7 @@ index 1452db3..8200e44 100644 gte_unneeded[i]=gte_u; /* printf("ur (%d,%d) %x: ",istart,iend,start+i*4); -@@ -8387,6 +8399,7 @@ int new_recompile_block(int addr) +@@ -8474,6 +8491,7 @@ int new_recompile_block(u_int addr) // This allocates registers (if possible) one instruction prior // to use, which can avoid a load-use penalty on certain CPUs. @@ -211,7 +211,7 @@ index 1452db3..8200e44 100644 for(i=0;i>16)==0x1000) literal_pool(1024); else -@@ -8950,7 +8969,7 @@ int new_recompile_block(int addr) +@@ -9037,7 +9062,7 @@ int new_recompile_block(u_int addr) } } // External Branch Targets (jump_in) @@ -240,7 +241,7 @@ index 1452db3..8200e44 100644 for(i=0;i