This commit is contained in:
Vitor Santos Costa
2015-01-18 01:32:13 +00:00
parent e40c248c16
commit ce84e60d08
110 changed files with 30269 additions and 29788 deletions

View File

@@ -8,7 +8,7 @@
d0 = (CELL)S_SREG; \
} \
WRITEBACK_S(S_SREG+1); \
XREG((*_PREG)->y_u.ox.x) = d0; \
XREG((*_PREG)->u.ox.x) = d0; \
(*_PREG) = NEXTOP((*_PREG), ox); \
GONEXT(); \
ENDD(d0); \
@@ -20,7 +20,7 @@
BEGD(d0); \
d0 = *S_SREG; \
WRITEBACK_S(S_SREG+1); \
XREG((*_PREG)->y_u.ox.x) = d0; \
XREG((*_PREG)->u.ox.x) = d0; \
(*_PREG) = NEXTOP((*_PREG), ox); \
GONEXT(); \
ENDD(d0); \
@@ -31,7 +31,7 @@
register CELL *pt0; \
CACHE_S(); \
READ_IN_S(); \
pt0 = &XREG((*_PREG)->y_u.ox.x); \
pt0 = &XREG((*_PREG)->u.ox.x); \
(*_PREG) = NEXTOP((*_PREG), ox); \
RESET_VARIABLE(S_SREG); \
*pt0 = (CELL) S_SREG; \
@@ -44,7 +44,7 @@
BEGP(pt0); \
BEGD(d0); \
d0 = SREG[0]; \
pt0 = &XREG((*_PREG)->y_u.ox.x); \
pt0 = &XREG((*_PREG)->u.ox.x); \
(*_PREG) = NEXTOP((*_PREG), ox); \
if (d0 == 0) { \
d0 = (CELL)SREG; \
@@ -58,7 +58,7 @@
BEGP(pt0); \
BEGD(d0); \
d0 = (*_SREG)[0]; \
pt0 = &XREG((*_PREG)->y_u.ox.x); \
pt0 = &XREG((*_PREG)->u.ox.x); \
(*_PREG) = NEXTOP((*_PREG), ox); \
*pt0 = d0; \
GONEXT(); \
@@ -70,7 +70,7 @@
register CELL *pt0; \
CACHE_S(); \
READ_IN_S(); \
pt0 = &XREG((*_PREG)->y_u.ox.x); \
pt0 = &XREG((*_PREG)->u.ox.x); \
(*_PREG) = NEXTOP((*_PREG), ox); \
RESET_VARIABLE(S_SREG); \
*pt0 = (CELL)S_SREG; \
@@ -82,7 +82,7 @@
CACHE_S(); \
READ_IN_S(); \
BEGP(pt0); \
pt0 = &XREG((*_PREG)->y_u.oxx.xr); \
pt0 = &XREG((*_PREG)->u.oxx.xr); \
BEGD(d0); \
d0 = S_SREG[0]; \
BEGD(d1); \
@@ -94,7 +94,7 @@
d1 = (CELL)(S_SREG+1); \
} \
WRITEBACK_S(S_SREG+2); \
XREG((*_PREG)->y_u.oxx.xl) = d0; \
XREG((*_PREG)->u.oxx.xl) = d0; \
(*_PREG) = NEXTOP((*_PREG), oxx); \
*pt0 = d1; \
ENDD(d0); \
@@ -107,13 +107,13 @@
CACHE_S(); \
READ_IN_S(); \
BEGP(pt0); \
pt0 = &XREG((*_PREG)->y_u.oxx.xr); \
pt0 = &XREG((*_PREG)->u.oxx.xr); \
BEGD(d0); \
d0 = S_SREG[0]; \
BEGD(d1); \
d1 = S_SREG[1]; \
WRITEBACK_S(S_SREG+2); \
XREG((*_PREG)->y_u.oxx.xl) = d0; \
XREG((*_PREG)->u.oxx.xl) = d0; \
(*_PREG) = NEXTOP((*_PREG), oxx); \
*pt0 = d1; \
ENDD(d0); \
@@ -127,9 +127,9 @@
register CELL *pt0; \
CACHE_S(); \
READ_IN_S(); \
pt0 = &XREG((*_PREG)->y_u.oxx.xr); \
pt0 = &XREG((*_PREG)->u.oxx.xr); \
RESET_VARIABLE(S_SREG); \
XREG((*_PREG)->y_u.oxx.xl) = (CELL) S_SREG; \
XREG((*_PREG)->u.oxx.xl) = (CELL) S_SREG; \
S_SREG++; \
(*_PREG) = NEXTOP((*_PREG), oxx); \
RESET_VARIABLE(S_SREG); \
@@ -144,13 +144,13 @@
register CELL *pt0; \
CACHE_S(); \
READ_IN_S(); \
pt0 = &XREG((*_PREG)->y_u.oxx.xr); \
pt0 = &XREG((*_PREG)->u.oxx.xr); \
d0 = S_SREG[0]; \
d1 = S_SREG[1]; \
if (d0 == 0) \
XREG((*_PREG)->y_u.oxx.xl) = (CELL)S_SREG; \
XREG((*_PREG)->u.oxx.xl) = (CELL)S_SREG; \
else \
XREG((*_PREG)->y_u.oxx.xl) = d0; \
XREG((*_PREG)->u.oxx.xl) = d0; \
(*_PREG) = NEXTOP((*_PREG), oxx); \
if (d1 == 0) \
*pt0 = (CELL)(S_SREG+1); \
@@ -164,11 +164,11 @@
register CELL *pt0; \
CACHE_S(); \
READ_IN_S(); \
pt0 = &XREG((*_PREG)->y_u.oxx.xr); \
pt0 = &XREG((*_PREG)->u.oxx.xr); \
d0 = S_SREG[0]; \
d1 = S_SREG[1]; \
{ \
XREG((*_PREG)->y_u.oxx.xl) = d0; \
XREG((*_PREG)->u.oxx.xl) = d0; \
} \
(*_PREG) = NEXTOP((*_PREG), oxx); \
{ \
@@ -182,8 +182,8 @@
register CELL *pt0; \
CACHE_S(); \
READ_IN_S(); \
pt0 = &XREG((*_PREG)->y_u.oxx.xr); \
XREG((*_PREG)->y_u.oxx.xl) = (CELL) S_SREG; \
pt0 = &XREG((*_PREG)->u.oxx.xr); \
XREG((*_PREG)->u.oxx.xl) = (CELL) S_SREG; \
RESET_VARIABLE(S_SREG); \
S_SREG++; \
*pt0 = (CELL) S_SREG; \
@@ -197,7 +197,7 @@
register CELL d0; \
d0 = *(*_SREG)++; \
if (d0 == 0) { \
INITIALIZE_PERMVAR(YREG+(*_PREG)->y_u.oy.y,(CELL)((*_SREG)-1)); \
INITIALIZE_PERMVAR(YREG+(*_PREG)->u.oy.y,(CELL)((*_SREG)-1)); \
} else \
(*_PREG) = NEXTOP((*_PREG), oy); \
GONEXT();
@@ -205,7 +205,7 @@
#define _unify_y_var_instinit \
register CELL d0; \
d0 = *(*_SREG)++; \
INITIALIZE_PERMVAR(YREG+(*_PREG)->y_u.oy.y,d0); \
INITIALIZE_PERMVAR(YREG+(*_PREG)->u.oy.y,d0); \
(*_PREG) = NEXTOP((*_PREG), oy); \
GONEXT();
#endif /* YAPOR_SBA */
@@ -213,7 +213,7 @@
#define _unify_y_var_write_instinit \
CACHE_S(); \
READ_IN_S(); \
INITIALIZE_PERMVAR(YREG+(*_PREG)->y_u.oy.y,(CELL) S_SREG); \
INITIALIZE_PERMVAR(YREG+(*_PREG)->u.oy.y,(CELL) S_SREG); \
(*_PREG) = NEXTOP((*_PREG), oy); \
RESET_VARIABLE(S_SREG); \
WRITEBACK_S(S_SREG+1); \
@@ -225,7 +225,7 @@
register CELL d0; \
d0 = (*_SREG)[0]; \
if (d0 == 0) { \
INITIALIZE_PERMVAR(YREG+(*_PREG)->y_u.oy.y,(CELL)(*_SREG)); \
INITIALIZE_PERMVAR(YREG+(*_PREG)->u.oy.y,(CELL)(*_SREG)); \
} else \
(*_PREG) = NEXTOP((*_PREG), oy); \
GONEXT();
@@ -233,7 +233,7 @@
#define _unify_l_y_var_instinit \
register CELL d0; \
d0 = (*_SREG)[0]; \
INITIALIZE_PERMVAR(YREG+(*_PREG)->y_u.oy.y,d0); \
INITIALIZE_PERMVAR(YREG+(*_PREG)->u.oy.y,d0); \
(*_PREG) = NEXTOP((*_PREG), oy); \
GONEXT();
#endif /* YAPOR_SBA */
@@ -241,7 +241,7 @@
#define _unify_l_y_var_write_instinit \
CACHE_S(); \
READ_IN_S(); \
INITIALIZE_PERMVAR(YREG+(*_PREG)->y_u.oy.y,(CELL) S_SREG); \
INITIALIZE_PERMVAR(YREG+(*_PREG)->u.oy.y,(CELL) S_SREG); \
(*_PREG) = NEXTOP((*_PREG), oy); \
RESET_VARIABLE(S_SREG); \
ENDCACHE_S(); \
@@ -256,7 +256,7 @@
deref_head(d0, uvalx_unk); \
\
uvalx_nonvar: \
d1 = XREG((*_PREG)->y_u.ox.x); \
d1 = XREG((*_PREG)->u.ox.x); \
deref_head(d1, uvalx_nonvar_unk); \
\
uvalx_nonvar_nonvar: \
@@ -273,7 +273,7 @@
ENDP(pt1); \
\
derefa_body(d0, pt0, uvalx_unk, uvalx_nonvar); \
d1 = XREG((*_PREG)->y_u.ox.x); \
d1 = XREG((*_PREG)->u.ox.x); \
deref_head(d1, uvalx_var_unk); \
\
uvalx_var_nonvar: \
@@ -294,7 +294,7 @@
ENDD(d0);
#define _unify_x_val_write_instinit \
*(*_SREG)++ = XREG((*_PREG)->y_u.ox.x); \
*(*_SREG)++ = XREG((*_PREG)->u.ox.x); \
(*_PREG) = NEXTOP((*_PREG), ox); \
GONEXTW();
@@ -307,7 +307,7 @@
deref_head(d0, ulvalx_unk); \
\
ulvalx_nonvar: \
d1 = XREG((*_PREG)->y_u.ox.x); \
d1 = XREG((*_PREG)->u.ox.x); \
deref_head(d1, ulvalx_nonvar_unk); \
\
ulvalx_nonvar_nonvar: \
@@ -322,7 +322,7 @@
ENDP(pt1); \
\
derefa_body(d0, pt0, ulvalx_unk, ulvalx_nonvar); \
d1 = XREG((*_PREG)->y_u.ox.x); \
d1 = XREG((*_PREG)->u.ox.x); \
deref_head(d1, ulvalx_var_unk); \
\
ulvalx_var_nonvar: \
@@ -341,7 +341,7 @@
ENDD(d0);
#define _unify_l_x_val_write_instinit \
(*_SREG)[0] = XREG((*_PREG)->y_u.ox.x); \
(*_SREG)[0] = XREG((*_PREG)->u.ox.x); \
(*_PREG) = NEXTOP((*_PREG), ox); \
GONEXT();
@@ -352,7 +352,7 @@
d0 = *pt0;
#define UNIFY_Y_VAL_UVALY_NONVAR \
pt1 = YREG+(*_PREG)->y_u.oy.y; \
pt1 = YREG+(*_PREG)->u.oy.y; \
d1 = *pt1;
#define UNIFY_Y_VAL_UVALY_NONVAR_NONVAR \
@@ -368,7 +368,7 @@
GONext();
#define UNIFY_Y_VAL_UVALY_UNK \
pt1 = YREG+(*_PREG)->y_u.oy.y; \
pt1 = YREG+(*_PREG)->u.oy.y; \
d1 = *pt1;
#define UNIFY_Y_VAL_UVALY_VAR_NONVAR \
@@ -386,9 +386,9 @@
#ifdef YAPOR_SBA
#define UNIFY_Y_VAL_WRITE_INSTINIT \
register CELL d0; \
d0 = YREG[(*_PREG)->y_u.oy.y]; \
d0 = YREG[(*_PREG)->u.oy.y]; \
if (d0 == 0) \
*(*_SREG)++ = (CELL)(YREG+(*_PREG)->y_u.oy.y); \
*(*_SREG)++ = (CELL)(YREG+(*_PREG)->u.oy.y); \
else \
*(*_SREG)++ = d0; \
(*_PREG) = NEXTOP((*_PREG), oy); \
@@ -396,7 +396,7 @@
#else /* YAPOR_SBA */
#define UNIFY_Y_VAL_WRITE_INSTINIT \
register CELL d0; \
d0 = YREG[(*_PREG)->y_u.oy.y]; \
d0 = YREG[(*_PREG)->u.oy.y]; \
*(*_SREG)++ = d0; \
(*_PREG) = NEXTOP((*_PREG), oy); \
GONextW();
@@ -409,7 +409,7 @@
d0 = *pt0;
#define UNIFY_L_Y_VAL_ULVALY_NONVAR \
pt1 = YREG+(*_PREG)->y_u.oy.y; \
pt1 = YREG+(*_PREG)->u.oy.y; \
d1 = *pt1;
#define UNIFY_L_Y_VAL_ULVALY_NONVAR_NONVAR \
@@ -423,7 +423,7 @@
GONext();
#define UNIFY_L_Y_VAL_ULVALY_UNK \
pt1 = YREG+(*_PREG)->y_u.oy.y; \
pt1 = YREG+(*_PREG)->u.oy.y; \
d1 = *pt1;
#define UNIFY_L_Y_VAL_ULVALY_VAR_NONVAR \
@@ -439,9 +439,9 @@
#ifdef YAPOR_SBA
#define UNIFY_L_Y_VAL_WRITE_INSTINIT \
register CELL d0; \
d0 = YREG[(*_PREG)->y_u.oy.y]; \
d0 = YREG[(*_PREG)->u.oy.y]; \
if (d0 == 0) \
(*_SREG)[0] = (CELL)(YREG+(*_PREG)->y_u.oy.y); \
(*_SREG)[0] = (CELL)(YREG+(*_PREG)->u.oy.y); \
else \
(*_SREG)[0] = d0; \
(*_PREG) = NEXTOP((*_PREG), oy); \
@@ -449,7 +449,7 @@
#else /* YAPOR_SBA */
#define UNIFY_L_Y_VAL_WRITE_INSTINIT \
register CELL d0; \
d0 = YREG[(*_PREG)->y_u.oy.y]; \
d0 = YREG[(*_PREG)->u.oy.y]; \
(*_SREG)[0] = d0; \
(*_PREG) = NEXTOP((*_PREG), oy); \
GONext();
@@ -464,7 +464,7 @@
deref_head(d0, uvalx_loc_unk); \
\
uvalx_loc_nonvar: \
d1 = XREG((*_PREG)->y_u.ox.x); \
d1 = XREG((*_PREG)->u.ox.x); \
deref_head(d1, uvalx_loc_nonvar_unk); \
\
uvalx_loc_nonvar_nonvar: \
@@ -481,7 +481,7 @@
ENDP(pt1); \
\
derefa_body(d0, pt0, uvalx_loc_unk, uvalx_loc_nonvar); \
d1 = XREG((*_PREG)->y_u.ox.x); \
d1 = XREG((*_PREG)->u.ox.x); \
deref_head(d1, uvalx_loc_var_unk); \
\
uvalx_loc_var_nonvar: \
@@ -503,7 +503,7 @@
#define _unify_x_loc_write_instinit \
BEGD(d0); \
d0 = XREG((*_PREG)->y_u.ox.x); \
d0 = XREG((*_PREG)->u.ox.x); \
deref_head(d0, unify_x_loc_unk); \
unify_x_loc_nonvar: \
*(*_SREG)++ = d0; \
@@ -538,7 +538,7 @@
deref_head(d0, ulvalx_loc_unk); \
\
ulvalx_loc_nonvar: \
d1 = XREG((*_PREG)->y_u.ox.x); \
d1 = XREG((*_PREG)->u.ox.x); \
deref_head(d1, ulvalx_loc_nonvar_unk); \
\
ulvalx_loc_nonvar_nonvar: \
@@ -551,7 +551,7 @@
GONEXT(); \
\
derefa_body(d0, pt0, ulvalx_loc_unk, ulvalx_loc_nonvar); \
d1 = XREG((*_PREG)->y_u.ox.x); \
d1 = XREG((*_PREG)->u.ox.x); \
deref_head(d1, ulvalx_loc_var_unk); \
\
ulvalx_loc_var_nonvar: \
@@ -571,7 +571,7 @@
#define _unify_l_x_loc_write_instinit \
BEGD(d0); \
d0 = XREG((*_PREG)->y_u.ox.x); \
d0 = XREG((*_PREG)->u.ox.x); \
deref_head(d0, ulnify_x_loc_unk); \
ulnify_x_loc_nonvar: \
(*_SREG)[0] = d0; \
@@ -600,7 +600,7 @@
d0 = *pt0;
#define UNIFY_Y_LOC_UVALY_LOC_NONVAR \
pt1 = YREG+(*_PREG)->y_u.oy.y; \
pt1 = YREG+(*_PREG)->u.oy.y; \
d1 = *pt1;
#define UNIFY_Y_LOC_UVALY_LOC_NONVAR_NONVAR \
@@ -616,7 +616,7 @@
GONext();
#define UNIFY_Y_LOC_UVALY_LOC_UNK \
pt1 = YREG+(*_PREG)->y_u.oy.y; \
pt1 = YREG+(*_PREG)->u.oy.y; \
d1 = *pt1;
#define UNIFY_Y_LOC_UVALY_LOC_VAR_NONVAR \
@@ -634,7 +634,7 @@
#define UNIFY_Y_LOC_WRITE_INSTINIT \
register CELL d0; \
register CELL *pt0; \
pt0 = YREG+(*_PREG)->y_u.oy.y; \
pt0 = YREG+(*_PREG)->u.oy.y; \
d0 = *pt0;
#define UNIFY_Y_LOC_WRITE_UNIFY_Y_LOC_NONVAR \
@@ -665,7 +665,7 @@
d0 = *pt0;
#define UNIFY_L_Y_LOC_ULVALY_LOC_NONVAR \
pt1 = YREG+(*_PREG)->y_u.oy.y; \
pt1 = YREG+(*_PREG)->u.oy.y; \
d1 = *pt1;
#define UNIFY_L_Y_LOC_ULVALY_LOC_NONVAR_NONVAR \
@@ -679,7 +679,7 @@
GONext();
#define UNIFY_L_Y_LOC_ULVALY_LOC_UNK \
pt1 = YREG+(*_PREG)->y_u.oy.y; \
pt1 = YREG+(*_PREG)->u.oy.y; \
d1 = *pt1;
#define UNIFY_L_Y_LOC_ULVALY_LOC_VAR_NONVAR \
@@ -695,7 +695,7 @@
#define UNIFY_L_Y_LOC_WRITE_INSTINIT \
register CELL d0; \
register CELL *pt0; \
pt0 = YREG+(*_PREG)->y_u.oy.y; \
pt0 = YREG+(*_PREG)->u.oy.y; \
d0 = *pt0;
#define UNIFY_L_Y_LOC_WRITE_ULUNIFY_Y_LOC_NONVAR \
@@ -742,14 +742,14 @@
GONext();
#define _unify_n_voids_instinit \
(*_SREG) += (*_PREG)->y_u.os.s; \
(*_SREG) += (*_PREG)->u.os.s; \
(*_PREG) = NEXTOP((*_PREG), os); \
GONEXT();
#define _unify_n_voids_write_instinit \
register CELL d0; \
CACHE_S(); \
d0 = (*_PREG)->y_u.os.s; \
d0 = (*_PREG)->u.os.s; \
READ_IN_S(); \
(*_PREG) = NEXTOP((*_PREG), os); \
for (; d0 > 0; d0--) { \
@@ -766,7 +766,7 @@
#define _unify_l_n_voids_write_instinit \
register CELL d0; \
d0 = (*_PREG)->y_u.os.s; \
d0 = (*_PREG)->u.os.s; \
(*_PREG) = NEXTOP((*_PREG), os); \
CACHE_S(); \
READ_IN_S(); \
@@ -784,14 +784,14 @@
d0 = *pt0; \
deref_head(d0, uatom_unk); \
uatom_nonvar: \
if (d0 != (*_PREG)->y_u.oc.c) { \
if (d0 != (*_PREG)->u.oc.c) { \
FAIL(); \
} \
(*_PREG) = NEXTOP((*_PREG), oc); \
GONEXT(); \
\
derefa_body(d0, pt0, uatom_unk, uatom_nonvar); \
d0 = (*_PREG)->y_u.oc.c; \
d0 = (*_PREG)->u.oc.c; \
(*_PREG) = NEXTOP((*_PREG), oc); \
Bind_Global(pt0, d0); \
GONEXT(); \
@@ -799,7 +799,7 @@
ENDD(d0);
#define _unify_atom_write_instinit \
* (*_SREG)++ = (*_PREG)->y_u.oc.c; \
* (*_SREG)++ = (*_PREG)->u.oc.c; \
(*_PREG) = NEXTOP((*_PREG), oc); \
GONEXTW();
@@ -810,14 +810,14 @@
d0 = *(*_SREG); \
deref_head(d0, ulatom_unk); \
ulatom_nonvar: \
if (d0 != (*_PREG)->y_u.oc.c) { \
if (d0 != (*_PREG)->u.oc.c) { \
FAIL(); \
} \
(*_PREG) = NEXTOP((*_PREG), oc); \
GONEXT(); \
\
derefa_body(d0, pt0, ulatom_unk, ulatom_nonvar); \
d0 = (*_PREG)->y_u.oc.c; \
d0 = (*_PREG)->u.oc.c; \
(*_PREG) = NEXTOP((*_PREG), oc); \
Bind_Global(pt0, d0); \
GONEXT(); \
@@ -825,15 +825,15 @@
ENDD(d0);
#define _unify_l_atom_write_instinit \
(*_SREG)[0] = (*_PREG)->y_u.oc.c; \
(*_SREG)[0] = (*_PREG)->u.oc.c; \
(*_PREG) = NEXTOP((*_PREG), oc); \
GONEXT();
#define UNIFY_N_ATOMS_INSTINIT \
register Int i = (*_PREG)->y_u.osc.s; \
register Int i = (*_PREG)->u.osc.s; \
register CELL d0, d1; \
register CELL *pt0; \
d1 = (*_PREG)->y_u.osc.c; \
d1 = (*_PREG)->u.osc.c; \
for (; i > 0; i--) { \
pt0 = (*_SREG)++; \
d0 = *pt0; \
@@ -865,8 +865,8 @@
#define UNIFY_N_ATOMS_WRITE_INSTINIT \
register CELL d0, d1; \
d0 = (*_PREG)->y_u.osc.s; \
d1 = (*_PREG)->y_u.osc.c; \
d0 = (*_PREG)->u.osc.s; \
d1 = (*_PREG)->u.osc.c; \
CACHE_S(); \
READ_IN_S(); \
(*_PREG) = NEXTOP((*_PREG), osc); \
@@ -888,20 +888,20 @@
d0 = *pt0;
#define UNIFY_FLOAT_UFLOAT_NONVAR_D0ISFUNCTOR \
pt1 = (*_PREG)->y_u.od.d; \
pt1 = (*_PREG)->u.od.d; \
(*_PREG) = NEXTOP((*_PREG), od);
#define UNIFY_FLOAT_UFLOAT_NONVAR_END \
GONext();
#define UNIFY_FLOAT_UFLOAT_UNK \
d1 = AbsAppl((*_PREG)->y_u.od.d); \
d1 = AbsAppl((*_PREG)->u.od.d); \
(*_PREG) = NEXTOP((*_PREG), od); \
Bind_Global(pt0, d1); \
GONext();
#define UNIFY_FLOAT_WRITE_INSTINIT \
* (*_SREG)++ = AbsAppl((*_PREG)->y_u.od.d); \
* (*_SREG)++ = AbsAppl((*_PREG)->u.od.d); \
(*_PREG) = NEXTOP((*_PREG), od); \
GONextW();
@@ -925,7 +925,7 @@
} \
ENDD(d0); \
BEGP(pt1); \
pt1 = (*_PREG)->y_u.od.d; \
pt1 = (*_PREG)->u.od.d; \
(*_PREG) = NEXTOP((*_PREG), od); \
if ( \
pt1[1] != pt0[1] \
@@ -939,7 +939,7 @@
\
derefa_body(d0, S_SREG, ulfloat_unk, ulfloat_nonvar); \
BEGD(d1); \
d1 = AbsAppl((*_PREG)->y_u.od.d); \
d1 = AbsAppl((*_PREG)->u.od.d); \
(*_PREG) = NEXTOP((*_PREG), od); \
Bind_Global(S_SREG, d1); \
GONEXT(); \
@@ -966,7 +966,7 @@
} \
ENDD(d0); \
BEGP(pt1); \
pt1 = (*_PREG)->y_u.od.d; \
pt1 = (*_PREG)->u.od.d; \
(*_PREG) = NEXTOP((*_PREG), od); \
if ( \
pt1[1] != pt0[1] \
@@ -979,7 +979,7 @@
\
derefa_body(d0, S_SREG, ulfloat_unk, ulfloat_nonvar); \
BEGD(d1); \
d1 = AbsAppl((*_PREG)->y_u.od.d); \
d1 = AbsAppl((*_PREG)->u.od.d); \
(*_PREG) = NEXTOP((*_PREG), od); \
Bind_Global(S_SREG, d1); \
GONEXT(); \
@@ -989,7 +989,7 @@
#endif /* SIZEOF_DOUBLE == 2*SIZEOF_INT_P */
#define _unify_l_float_write_instinit \
(*_SREG)[0] = AbsAppl((*_PREG)->y_u.od.d); \
(*_SREG)[0] = AbsAppl((*_PREG)->u.od.d); \
(*_PREG) = NEXTOP((*_PREG), od); \
GONEXT();
@@ -1004,20 +1004,20 @@
d0 = *pt0;
#define UNIFY_LONGINT_D0ISFUNC \
pt1 = (*_PREG)->y_u.oi.i; \
pt1 = (*_PREG)->u.oi.i; \
(*_PREG) = NEXTOP((*_PREG), oi);
#define UNIFY_LONGINT_EQUALS \
GONext();
#define UNIFY_LONGINT_ULONGINT_UNK \
d1 = AbsAppl((*_PREG)->y_u.oi.i); \
d1 = AbsAppl((*_PREG)->u.oi.i); \
(*_PREG) = NEXTOP((*_PREG), oi); \
Bind_Global(pt0, d1); \
GONext();
#define UNIFY_LONGINT_WRITE_INSTINIT \
* (*_SREG)++ = AbsAppl((*_PREG)->y_u.oi.i); \
* (*_SREG)++ = AbsAppl((*_PREG)->u.oi.i); \
(*_PREG) = NEXTOP((*_PREG), oi); \
GONextW();
@@ -1033,20 +1033,20 @@
d0 = *pt0;
#define UNIFY_L_LONGINT_D0ISFUNC \
pt1 = (*_PREG)->y_u.oi.i; \
pt1 = (*_PREG)->u.oi.i; \
(*_PREG) = NEXTOP((*_PREG), oi);
#define UNIFY_L_LONGINT_EQUALS \
GONext();
#define UNIFY_L_LONGINT_ULLONGINT_UNK \
d1 = AbsAppl((*_PREG)->y_u.oi.i); \
d1 = AbsAppl((*_PREG)->u.oi.i); \
(*_PREG) = NEXTOP((*_PREG), oi); \
Bind_Global(S_SREG, d1); \
GONext();
#define UNIFY_L_LONGINT_WRITE_INSTINIT \
(*_SREG)[0] = AbsAppl((*_PREG)->y_u.oi.i); \
(*_SREG)[0] = AbsAppl((*_PREG)->u.oi.i); \
(*_PREG) = NEXTOP((*_PREG), oi); \
GONext();
@@ -1066,7 +1066,7 @@
GONext();
#define UNIFY_BIGINT_UBIGINT_UNK \
d1 = (*_PREG)->y_u.oN.b; \
d1 = (*_PREG)->u.oN.b; \
(*_PREG) = NEXTOP((*_PREG), oN); \
Bind_Global(pt0, d1); \
GONext();
@@ -1089,7 +1089,7 @@
GONext();
#define UNIFY_L_BIGINT_ULBIGINT_UNK \
d1 = (*_PREG)->y_u.oN.b; \
d1 = (*_PREG)->u.oN.b; \
(*_PREG) = NEXTOP((*_PREG), oN); \
Bind_Global(S_SREG, d1); \
GONext(); \
@@ -1104,12 +1104,12 @@
#define UNIFY_DBTERM_UDBTERM_NONVAR \
BLOCK = (CELL)UNIFY_DBTERM_UDBTERM_NONVAR; \
d1 = (*_PREG)->y_u.oD.D; \
d1 = (*_PREG)->u.oD.D; \
(*_PREG) = NEXTOP((*_PREG), oD); \
YAAM_UNIFYBOUND;
#define UNIFY_DBTERM_UDBTERM_UNK \
d1 = (*_PREG)->y_u.oD.D; \
d1 = (*_PREG)->u.oD.D; \
(*_PREG) = NEXTOP((*_PREG), oD); \
Bind_Global(pt0, d1); \
GONext();
@@ -1123,12 +1123,12 @@
#define UNIFY_L_DBTERM_ULDBTERM_NONVAR \
BLOCK = (CELL)UNIFY_L_DBTERM_ULDBTERM_NONVAR; \
d1 = (*_PREG)->y_u.oD.D; \
d1 = (*_PREG)->u.oD.D; \
(*_PREG) = NEXTOP((*_PREG), oD); \
YAAM_UNIFYBOUND;
#define UNIFY_L_DBTERM_ULDBTERM_UNK \
d1 = (*_PREG)->y_u.oD.D; \
d1 = (*_PREG)->u.oD.D; \
(*_PREG) = NEXTOP((*_PREG), oD); \
Bind_Global(S_SREG, d1); \
GONext(); \
@@ -1241,7 +1241,7 @@
CACHE_S(); \
READ_IN_S(); \
S_SREG = RepAppl(d0); \
d0 = (CELL) ((*_PREG)->y_u.ofa.f); \
d0 = (CELL) ((*_PREG)->u.ofa.f); \
if (*S_SREG != d0) { \
FAIL(); \
} \
@@ -1256,9 +1256,9 @@
Bind_Global(pt0, d1); \
pt0 = HR; \
ENDD(d1); \
d0 = (CELL) ((*_PREG)->y_u.ofa.f); \
d0 = (CELL) ((*_PREG)->u.ofa.f); \
*pt0++ = d0; \
HR = pt0 + (*_PREG)->y_u.ofa.a; \
HR = pt0 + (*_PREG)->u.ofa.a; \
(*_PREG) = NEXTOP((*_PREG), ofa); \
(*_SREG) = pt0; \
GONEXTW(); \
@@ -1274,9 +1274,9 @@
d0 = AbsAppl(HR); \
S_SREG[0] = d0; \
S_SREG = HR; \
d0 = (CELL) ((*_PREG)->y_u.ofa.f); \
d0 = (CELL) ((*_PREG)->u.ofa.f); \
*S_SREG++ = d0; \
HR = S_SREG + (*_PREG)->y_u.ofa.a; \
HR = S_SREG + (*_PREG)->u.ofa.a; \
(*_PREG) = NEXTOP((*_PREG), ofa); \
WRITEBACK_S(S_SREG); \
ENDCACHE_S(); \
@@ -1294,7 +1294,7 @@
FAIL(); \
} \
(*_SREG) = RepAppl(d0); \
d0 = (CELL) ((*_PREG)->y_u.ofa.f); \
d0 = (CELL) ((*_PREG)->u.ofa.f); \
if (*(*_SREG)++ != d0) { \
FAIL(); \
} \
@@ -1307,9 +1307,9 @@
Bind_Global(pt0, d1); \
pt0 = HR; \
ENDD(d1); \
d0 = (CELL) ((*_PREG)->y_u.ofa.f); \
d0 = (CELL) ((*_PREG)->u.ofa.f); \
*pt0++ = d0; \
HR = pt0 + (*_PREG)->y_u.ofa.a; \
HR = pt0 + (*_PREG)->u.ofa.a; \
(*_PREG) = NEXTOP((*_PREG), ofa); \
(*_SREG) = pt0; \
GONEXTW(); \
@@ -1323,51 +1323,51 @@
READ_IN_S(); \
S_SREG[0] = d0; \
S_SREG = HR; \
d0 = (CELL) ((*_PREG)->y_u.ofa.f); \
d0 = (CELL) ((*_PREG)->u.ofa.f); \
*S_SREG++ = d0; \
HR = S_SREG + (*_PREG)->y_u.ofa.a; \
HR = S_SREG + (*_PREG)->u.ofa.a; \
(*_PREG) = NEXTOP((*_PREG), ofa); \
WRITEBACK_S(S_SREG); \
ENDCACHE_S(); \
GONEXTW();
#define _save_pair_x_instinit \
XREG((*_PREG)->y_u.ox.x) = AbsPair((*_SREG)); \
XREG((*_PREG)->u.ox.x) = AbsPair((*_SREG)); \
(*_PREG) = NEXTOP((*_PREG), ox); \
GONEXT();
#define _save_pair_x_write_instinit \
XREG((*_PREG)->y_u.ox.x) = AbsPair((*_SREG)); \
XREG((*_PREG)->u.ox.x) = AbsPair((*_SREG)); \
(*_PREG) = NEXTOP((*_PREG), ox); \
GONEXTW();
#define SAVE_PAIR_Y_INSTINIT \
INITIALIZE_PERMVAR(YREG+(*_PREG)->y_u.oy.y,AbsPair((*_SREG))); \
INITIALIZE_PERMVAR(YREG+(*_PREG)->u.oy.y,AbsPair((*_SREG))); \
(*_PREG) = NEXTOP((*_PREG), oy); \
GONext();
#define SAVE_PAIR_Y_WRITE_INSTINIT \
INITIALIZE_PERMVAR(YREG+(*_PREG)->y_u.oy.y,AbsPair((*_SREG))); \
INITIALIZE_PERMVAR(YREG+(*_PREG)->u.oy.y,AbsPair((*_SREG))); \
(*_PREG) = NEXTOP((*_PREG), oy); \
GONextW();
#define _save_appl_x_instinit \
XREG((*_PREG)->y_u.ox.x) = AbsAppl((*_SREG) - 1); \
XREG((*_PREG)->u.ox.x) = AbsAppl((*_SREG) - 1); \
(*_PREG) = NEXTOP((*_PREG), ox); \
GONEXT();
#define _save_appl_x_write_instinit \
XREG((*_PREG)->y_u.ox.x) = AbsAppl((*_SREG) - 1); \
XREG((*_PREG)->u.ox.x) = AbsAppl((*_SREG) - 1); \
(*_PREG) = NEXTOP((*_PREG), ox); \
GONEXTW();
#define SAVE_APPL_Y_INSTINIT \
INITIALIZE_PERMVAR(YREG+(*_PREG)->y_u.oy.y,AbsAppl((*_SREG)-1)); \
INITIALIZE_PERMVAR(YREG+(*_PREG)->u.oy.y,AbsAppl((*_SREG)-1)); \
(*_PREG) = NEXTOP((*_PREG), oy); \
GONext();
#define SAVE_APPL_Y_WRITE_INSTINIT \
INITIALIZE_PERMVAR(YREG+(*_PREG)->y_u.oy.y,AbsAppl((*_SREG)-1)); \
INITIALIZE_PERMVAR(YREG+(*_PREG)->u.oy.y,AbsAppl((*_SREG)-1)); \
(*_PREG) = NEXTOP((*_PREG), oy); \
GONextW();