Diff for /gforth/engine/engine.c between versions 1.34 and 1.37

version 1.34, 2001/12/24 14:09:08 version 1.37, 2002/01/04 20:31:54
Line 19 Line 19
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
 */  */
   
   undefine(`symbols')
   
 #include "config.h"  #include "config.h"
 #include "forth.h"  #include "forth.h"
 #include <ctype.h>  #include <ctype.h>
Line 300  static int ufileattr[6]= { Line 302  static int ufileattr[6]= {
 #else  #else
 #define SUPER_END  #define SUPER_END
 #endif  #endif
   #define SUPER_CONTINUE
   
 #ifdef GFORTH_DEBUGGING  #ifdef GFORTH_DEBUGGING
 /* define some VM registers as global variables, so they survive exceptions;  /* define some VM registers as global variables, so they survive exceptions;
Line 309  Xt *ip; Line 312  Xt *ip;
 Cell *rp;  Cell *rp;
 #endif  #endif
   
   #ifdef DEBUG
   #define CFA_TO_NAME(__cfa) \
         Cell len, i; \
         char * name = __cfa; \
         for(i=0; i<32; i+=sizeof(Cell)) { \
           len = ((Cell*)name)[-1]; \
           if(len < 0) { \
             len &= 0x1F; \
             if((len+sizeof(Cell)) > i) break; \
           } len = 0; \
           name -= sizeof(Cell); \
         }
   #endif
   
 Xt *primtable(Label symbols[], Cell size)  Xt *primtable(Label symbols[], Cell size)
 {  {
 #ifdef DIRECT_THREADED  #ifdef DIRECT_THREADED
Line 423  define(enginerest, Line 440  define(enginerest,
   {    {
     DOCFA;      DOCFA;
 #ifdef DEBUG  #ifdef DEBUG
     fprintf(stderr,"%08lx: col: %08lx\n",(Cell)ip,(Cell)PFA1(cfa));      {
         CFA_TO_NAME(cfa);
         fprintf(stderr,"%08lx: col: %08lx %.*s\n",(Cell)ip,(Cell)PFA1(cfa),
                 len,name);
       }
 #endif  #endif
 #ifdef CISC_NEXT  #ifdef CISC_NEXT
     /* this is the simple version */      /* this is the simple version */

Removed from v.1.34  
changed lines
  Added in v.1.37


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