version 1.25, 2002/01/16 10:40:26
|
version 1.26, 2002/01/20 19:04:11
|
Line 130 typedef union {
|
Line 130 typedef union {
|
#define vm_d2twoCell(d_,lo,hi) STORE_DCELL_T(d_,lo,hi,d) |
#define vm_d2twoCell(d_,lo,hi) STORE_DCELL_T(d_,lo,hi,d) |
#define vm_ud2twoCell(d_,lo,hi) STORE_DCELL_T(d_,lo,hi,ud) |
#define vm_ud2twoCell(d_,lo,hi) STORE_DCELL_T(d_,lo,hi,ud) |
|
|
#ifdef DIRECT_THREADED |
|
typedef Label Xt; |
|
#else |
|
typedef Label *Xt; |
typedef Label *Xt; |
#endif |
|
|
|
#if !defined(DIRECT_THREADED) |
|
/* i.e. indirect threaded our doubly indirect threaded */ |
|
/* the direct threaded version is machine dependent and resides in machine.h */ |
|
|
|
/* PFA gives the parameter field address corresponding to a cfa */ |
/* PFA gives the parameter field address corresponding to a cfa */ |
#define PFA(cfa) (((Cell *)cfa)+2) |
#define PFA(cfa) (((Cell *)cfa)+2) |
Line 172 typedef Label *Xt;
|
Line 164 typedef Label *Xt;
|
#else /* !defined(DOUBLY_INDIRECT) */ |
#else /* !defined(DOUBLY_INDIRECT) */ |
#define MAKE_DOES_HANDLER(addr) 0 |
#define MAKE_DOES_HANDLER(addr) 0 |
#endif /* !defined(DOUBLY_INDIRECT) */ |
#endif /* !defined(DOUBLY_INDIRECT) */ |
#endif /* !defined(DIRECT_THREADED) */ |
|
|
|
#ifdef DEBUG |
#ifdef DEBUG |
# define NAME(string) fprintf(stderr,"%08lx: "string"\n",(Cell)ip); |
# define NAME(string) fprintf(stderr,"%08lx: "string"\n",(Cell)ip); |
Line 189 typedef Label *Xt;
|
Line 180 typedef Label *Xt;
|
# define FLUSH_ICACHE(addr,size) |
# define FLUSH_ICACHE(addr,size) |
#endif |
#endif |
|
|
#if defined(DIRECT_THREADED) |
|
#define CACHE_FLUSH(addr,size) FLUSH_ICACHE(addr,size) |
|
#else |
|
#define CACHE_FLUSH(addr,size) |
|
#endif |
|
|
|
#ifdef USE_TOS |
#ifdef USE_TOS |
#define IF_spTOS(x) x |
#define IF_spTOS(x) x |
#else |
#else |