famec: eliminate global context ptr

saves like 25-35K of .text

current compile resource usage on i5-6600K:
            cpu  mem
gcc 5.4.0:  17.0 1.1g
clang 3.8:  1686 2.3g

FAMEC_NO_GOTOS:
gcc 5.4.0:   8.4 0.4g
clang 3.8:  20.0 0.15g
vs2008/O2: ~1800 ?
vs2008/O1:  ~720 ?
This commit is contained in:
notaz 2017-10-15 01:15:00 +03:00
parent 12f23dac6f
commit 7669591e08
7 changed files with 346 additions and 371 deletions

View file

@ -30,6 +30,7 @@ static struct Cyclone *currentC68k = NULL;
#define other_is_stopped() (currentC68k->state_flags&1)
#define other_is_tracing() ((currentC68k->state_flags&2)?1:0)
#elif defined(EMU_F68K)
static struct M68K_CONTEXT *g_m68kcontext;
#define other_set_sub(s) g_m68kcontext=(s)?&PicoCpuFS68k:&PicoCpuFM68k;
#define other_get_sr() g_m68kcontext->sr
#define other_dar(i) ((unsigned int*)g_m68kcontext->dreg)[i]