Diff for /gforth/engine/engine.c between versions 1.85 and 1.88

version 1.85, 2005/12/11 20:08:09 version 1.88, 2006/01/05 01:37:32
Line 1 Line 1
 /* Gforth virtual machine (aka inner interpreter)  /* Gforth virtual machine (aka inner interpreter)
   
   Copyright (C) 1995,1996,1997,1998,2000,2003,2004 Free Software Foundation, Inc.    Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005 Free Software Foundation, Inc.
   
   This file is part of Gforth.    This file is part of Gforth.
   
Line 242  extern int gforth_memcmp(const char * s1 Line 242  extern int gforth_memcmp(const char * s1
 #endif  #endif
   
 #if defined(HAS_FFCALL) || defined(HAS_LIBFFI)  #if defined(HAS_FFCALL) || defined(HAS_LIBFFI)
 #define SAVE_REGS IF_fpTOS(fp[0]=fpTOS); SP=sp; FP=fp; RP=rp; LP=lp;  #define SAVE_REGS IF_fpTOS(fp[0]=fpTOS); gforth_SP=sp; gforth_FP=fp; gforth_RP=rp; gforth_LP=lp;
 #define REST_REGS sp=SP; fp=FP; rp=RP; lp=LP; IF_fpTOS(fpTOS=fp[0]);  #define REST_REGS sp=gforth_SP; fp=gforth_FP; rp=gforth_RP; lp=gforth_LP; IF_fpTOS(fpTOS=fp[0]);
 #endif  #endif
   
 #if !defined(ENGINE)  #if !defined(ENGINE)
Line 259  extern int gforth_memcmp(const char * s1 Line 259  extern int gforth_memcmp(const char * s1
 #define VARIANT(v)      (v)  #define VARIANT(v)      (v)
 #define JUMP(target)    goto I_noop  #define JUMP(target)    goto I_noop
 #define LABEL(name) H_##name: SKIP16; I_##name:  #define LABEL(name) H_##name: SKIP16; I_##name:
 #define IN_ENGINE2  
   
 #elif ENGINE==3  #elif ENGINE==3
 /* variant with different immediate arguments for finding out  /* variant with different immediate arguments for finding out
Line 309  Label *engine(Xt *ip0, Cell *sp0, Cell * Line 308  Label *engine(Xt *ip0, Cell *sp0, Cell *
   extern void ** clist;    extern void ** clist;
   extern void ffi_callback(ffi_cif * cif, void * resp, void ** args, Xt * ip);    extern void ffi_callback(ffi_cif * cif, void * resp, void ** args, Xt * ip);
 #endif  #endif
   register Address up UPREG = UP;    register Address up UPREG = gforth_UP;
   register Cell MAYBE_UNUSED spTOS TOSREG;    register Cell MAYBE_UNUSED spTOS TOSREG;
   register Cell MAYBE_UNUSED spb spbREG;    register Cell MAYBE_UNUSED spb spbREG;
   register Cell MAYBE_UNUSED spc spcREG;    register Cell MAYBE_UNUSED spc spcREG;

Removed from v.1.85  
changed lines
  Added in v.1.88


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>