Skip to content
Permalink
Browse files
core: Update to commit 055da08.
Gillou68310/mupen64plus-core@055da08

* 055da08 new_dynarec: Always start recompiling blocks at the beginning of the cache This check is not relevant anymore since the generated code of dynamic_linker+dynamic_linker_ds is now separated from the generated code of jump_vaddr_r0 to write_nomemd_new Previously the generated code of dyna_linker to write_nomemd_new was a single block of memory.
* 1530f2a new_dynarec: Fixed crash in Paper mario introduced by last commit
  • Loading branch information
Gillou68310 committed Aug 31, 2015
1 parent 9825b2f commit 53c67ef
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 10 deletions.
@@ -21,8 +21,8 @@
#include "../../cp0_private.h"
#include "main/main.h"

void *dynamic_linker(void * src, int vaddr);
void *dynamic_linker_ds(void * src, int vaddr);
void *dynamic_linker(void * src, u_int vaddr);
void *dynamic_linker_ds(void * src, u_int vaddr);

extern int cycle_count;
extern int last_count;
@@ -306,7 +306,7 @@ static void set_jump_target_fillslot(int addr,u_int target,int copy)
*/


void *dynamic_linker(void * src, int vaddr)
void *dynamic_linker(void * src, u_int vaddr)
{
u_int page=(vaddr^0x80000000)>>12;
u_int vpage=page;
@@ -373,7 +373,7 @@ void *dynamic_linker(void * src, int vaddr)
return get_addr_ht(0x80000000);
}

void *dynamic_linker_ds(void * src, int vaddr)
void *dynamic_linker_ds(void * src, u_int vaddr)
{
u_int page=(vaddr^0x80000000)>>12;
u_int vpage=page;
@@ -4764,10 +4764,10 @@ static void arch_init() {
// Jumping thru the trampolines created above slows things down by about 1%.
// If part of the cache is beyond the 32M limit, avoid using this area
// initially. It will be used later if the cache gets full.
if((u_int)dynamic_linker-33554432>(u_int)BASE_ADDR) {
if((u_int)dynamic_linker-33554432<(u_int)BASE_ADDR+(1<<(TARGET_SIZE_2-1))) {
out=(u_char *)(((u_int)dynamic_linker-33554432)&~4095);
/*if((u_int)dyna_linker-33554432>(u_int)BASE_ADDR) {
if((u_int)dyna_linker-33554432<(u_int)BASE_ADDR+(1<<(TARGET_SIZE_2-1))) {
out=(u_char *)(((u_int)dyna_linker-33554432)&~4095);
expirep=((((int)out-BASE_ADDR)>>(TARGET_SIZE_2-16))+16384)&65535;
}
}
}*/
}
@@ -114,7 +114,7 @@ static void set_jump_target(int addr,int target)
}
}

void *dynamic_linker(void * src, int vaddr)
void *dynamic_linker(void * src, u_int vaddr)
{
u_int page=(vaddr^0x80000000)>>12;
u_int vpage=page;
@@ -169,7 +169,7 @@ void *dynamic_linker(void * src, int vaddr)
return get_addr_ht(0x80000000);
}

void *dynamic_linker_ds(void * src, int vaddr)
void *dynamic_linker_ds(void * src, u_int vaddr)
{
u_int page=(vaddr^0x80000000)>>12;
u_int vpage=page;

0 comments on commit 53c67ef

Please sign in to comment.