diff options
author | notaz | 2011-02-17 00:08:48 +0200 |
---|---|---|
committer | notaz | 2011-02-17 17:05:11 +0200 |
commit | 0bbd14543fec5fd4f5664b676771812663235252 (patch) | |
tree | 6d1b903829320e47b3ca22bb7e547cec487342bd /libpcsxcore/new_dynarec/assem_arm.c | |
parent | 3eaa704818ac8d59d31ff362d99a673ee7118641 (diff) | |
download | pcsx_rearmed-0bbd14543fec5fd4f5664b676771812663235252.tar.gz pcsx_rearmed-0bbd14543fec5fd4f5664b676771812663235252.tar.bz2 pcsx_rearmed-0bbd14543fec5fd4f5664b676771812663235252.zip |
drc: merge Ari64's patch: 11_reduce_invstub_memory_usage
Diffstat (limited to 'libpcsxcore/new_dynarec/assem_arm.c')
-rw-r--r-- | libpcsxcore/new_dynarec/assem_arm.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/libpcsxcore/new_dynarec/assem_arm.c b/libpcsxcore/new_dynarec/assem_arm.c index 0153bfc..a40acf1 100644 --- a/libpcsxcore/new_dynarec/assem_arm.c +++ b/libpcsxcore/new_dynarec/assem_arm.c @@ -66,6 +66,37 @@ const u_int jump_vaddr_reg[16] = { 0, 0}; +void invalidate_addr_r0(); +void invalidate_addr_r1(); +void invalidate_addr_r2(); +void invalidate_addr_r3(); +void invalidate_addr_r4(); +void invalidate_addr_r5(); +void invalidate_addr_r6(); +void invalidate_addr_r7(); +void invalidate_addr_r8(); +void invalidate_addr_r9(); +void invalidate_addr_r10(); +void invalidate_addr_r12(); + +const u_int invalidate_addr_reg[16] = { + (int)invalidate_addr_r0, + (int)invalidate_addr_r1, + (int)invalidate_addr_r2, + (int)invalidate_addr_r3, + (int)invalidate_addr_r4, + (int)invalidate_addr_r5, + (int)invalidate_addr_r6, + (int)invalidate_addr_r7, + (int)invalidate_addr_r8, + (int)invalidate_addr_r9, + (int)invalidate_addr_r10, + 0, + (int)invalidate_addr_r12, + 0, + 0, + 0}; + #include "fpu.h" unsigned int needs_clear_cache[1<<(TARGET_SIZE_2-17)]; @@ -2195,6 +2226,13 @@ void emit_addsr12(int rs1,int rs2,int rt) output_w32(0xe0800620|rd_rn_rm(rt,rs1,rs2)); } +void emit_callne(int a) +{ + assem_debug("blne %x\n",a); + u_int offset=genjmp(a); + output_w32(0x1b000000|offset); +} + // Used to preload hash table entries void emit_prefetch(void *addr) { |