shrec/bm: BM lookup table size follows RAM_SIZE

This commit is contained in:
Stefanos Kornilios Mitsis Poiitidis 2015-08-09 06:30:40 +02:00
parent 365accfde2
commit 9bc0a8ff0f
3 changed files with 7 additions and 10 deletions

View File

@ -87,7 +87,7 @@ blkmap_t blkmap;
u32 bm_gc_luc,bm_gcf_luc;
#define FPCA(x) ((DynarecCodeEntryPtr&)sh4rcb.fpcb[(x>>1)&(8*1024*1024-1)])
#define FPCA(x) ((DynarecCodeEntryPtr&)sh4rcb.fpcb[(x>>1)&FPCB_MASK])
DynarecCodeEntryPtr DYNACALL bm_GetCode(u32 addr)
{
@ -386,7 +386,7 @@ void bm_Reset()
#if (HOST_OS == OS_DARWIN) || defined(TARGET_NO_NVMEM)
//lazy allocation isn't working on iOS
for (u32 i=0;i<(8*1024*1024);i++)
for (u32 i=0;i<FPCB_SIZE;i++)
{
sh4rcb.fpcb[i]=(void*)ngen_FailedToFindBlock;
}

View File

@ -408,13 +408,7 @@ void recSh4_Init()
bm_Init();
bm_Reset();
#if HOST_CPU == CPU_X64
verify(rcb_noffs(p_sh4rcb->fpcb) == -67371008);
#elif HOST_CPU == CPU_GENERIC
verify(rcb_noffs(p_sh4rcb->fpcb) == -33816576 || rcb_noffs(p_sh4rcb->fpcb) == -67371008);
#else
verify(rcb_noffs(p_sh4rcb->fpcb) == -33816576);
#endif
verify(rcb_noffs(p_sh4rcb->fpcb) == -(FPCB_SIZE*sizeof(void*) + 0x40000));
verify(rcb_noffs(p_sh4rcb->sq_buffer) == -512);

View File

@ -305,9 +305,12 @@ void DYNACALL do_sqw_nommu_full(u32 dst, u8* sqb);
typedef void DYNACALL sqw_fp(u32 dst,u8* sqb);
typedef void DYNACALL TaListVoidFP(void* data);
#define FPCB_SIZE (RAM_SIZE/2)
#define FPCB_MASK (FPCB_SIZE -1)
struct Sh4RCB
{
void* fpcb[8*1024*1024];
void* fpcb[FPCB_SIZE];
u64 _pad[(0x40000-sizeof(Sh4Context)-64-sizeof(void*)*2)/8];
TaListVoidFP* tacmd_voud; //*TODO* remove (not used)
sqw_fp* do_sqw_nommu;