| Label *engine3(Xt *ip, Cell *sp, Cell *rp, Float *fp, Address lp); |
Label *engine3(Xt *ip, Cell *sp, Cell *rp, Float *fp, Address lp); |
| |
|
| /* engine/prim support routines */ |
/* engine/prim support routines */ |
| Address my_alloc(Cell size); |
Address gforth_alloc(Cell size); |
| char *cstr(Char *from, UCell size, int clear); |
char *cstr(Char *from, UCell size, int clear); |
| char *tilde_cstr(Char *from, UCell size, int clear); |
char *tilde_cstr(Char *from, UCell size, int clear); |
| DCell timeval2us(struct timeval *tvp); |
DCell timeval2us(struct timeval *tvp); |
| # define debug 0 |
# define debug 0 |
| #endif |
#endif |
| |
|
| extern Cell *SP; |
extern Cell *gforth_SP; |
| extern Float *FP; |
extern Float *gforth_FP; |
| extern Address UP; |
extern Address gforth_UP; |
| |
|
| #ifdef HAS_FFCALL |
#ifdef HAS_FFCALL |
| extern Cell *RP; |
extern Cell *gforth_RP; |
| extern Address LP; |
extern Address gforth_LP; |
| extern void engine_callback(Xt* fcall, void * alist); |
extern void gforth_callback(Xt* fcall, void * alist); |
| #endif |
#endif |
| |
|
| #ifdef HAS_LIBFFI |
#ifdef HAS_LIBFFI |
| extern Cell *RP; |
extern Cell *gforth_RP; |
| extern Address LP; |
extern Address gforth_LP; |
| #include <ffi.h> |
#include <ffi.h> |
| extern void ffi_callback(ffi_cif * cif, void * resp, void ** args, Xt * ip); |
extern void gforth_callback(ffi_cif * cif, void * resp, void ** args, Xt * ip); |
| #endif |
#endif |
| |
|
| #ifdef GFORTH_DEBUGGING |
#ifdef GFORTH_DEBUGGING |