version 1.50, 2002/12/19 23:12:07
|
version 1.51, 2002/12/21 11:59:21
|
Line 198 extern int gforth_memcmp(const char * s1
|
Line 198 extern int gforth_memcmp(const char * s1
|
/* normal engine */ |
/* normal engine */ |
#define VARIANT(v) (v) |
#define VARIANT(v) (v) |
#define JUMP(target) goto I_noop |
#define JUMP(target) goto I_noop |
#define LABEL(name) I_##name: |
#define LABEL(name) J_##name: asm(""); I_##name: |
|
|
#elif ENGINE==2 |
#elif ENGINE==2 |
/* variant with padding between VM instructions for finding out |
/* variant with padding between VM instructions for finding out |
Line 215 extern int gforth_memcmp(const char * s1
|
Line 215 extern int gforth_memcmp(const char * s1
|
#define engine engine3 |
#define engine engine3 |
#define VARIANT(v) ((v)^0xffffffff) |
#define VARIANT(v) ((v)^0xffffffff) |
#define JUMP(target) goto K_lit |
#define JUMP(target) goto K_lit |
#define LABEL(name) I_##name: |
#define LABEL(name) J_##name: asm(""); I_##name: |
#else |
#else |
#error illegal ENGINE value |
#error illegal ENGINE value |
#endif /* ENGINE */ |
#endif /* ENGINE */ |
Line 270 Label *engine(Xt *ip0, Cell *sp0, Cell *
|
Line 270 Label *engine(Xt *ip0, Cell *sp0, Cell *
|
#define INST_ADDR(name) (Label)&&K_##name |
#define INST_ADDR(name) (Label)&&K_##name |
#include "prim_lab.i" |
#include "prim_lab.i" |
#undef INST_ADDR |
#undef INST_ADDR |
#ifdef IN_ENGINE2 |
|
#define INST_ADDR(name) (Label)&&J_##name |
#define INST_ADDR(name) (Label)&&J_##name |
#include "prim_lab.i" |
#include "prim_lab.i" |
#undef INST_ADDR |
#undef INST_ADDR |
#endif |
|
}; |
}; |
#ifdef CPU_DEP2 |
#ifdef CPU_DEP2 |
CPU_DEP2 |
CPU_DEP2 |