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

@ -143,8 +143,6 @@ typedef struct
unsigned long Fetch[M68K_FETCHBANK1];
} M68K_CONTEXT;
extern M68K_CONTEXT *g_m68kcontext;
typedef enum
{
fm68k_reason_emulate = 0,
@ -163,7 +161,7 @@ int fm68k_reset(M68K_CONTEXT *ctx);
int fm68k_emulate(M68K_CONTEXT *ctx, int n, fm68k_call_reason reason);
int fm68k_would_interrupt(M68K_CONTEXT *ctx); // to be called from fm68k_emulate()
unsigned fm68k_get_pc(M68K_CONTEXT *ctx);
unsigned int fm68k_get_pc(const M68K_CONTEXT *ctx);
// PICODRIVE_HACK
int fm68k_idle_install(void);