From a76b6d23dc81eb7189b3773868e77e7f0f8c7a5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Fri, 30 May 2014 01:06:09 +0100 Subject: [PATCH] Fix: eclipse >u. into >y_u. --- C/absmi.c | 1780 ++++++++++++++++----------------- C/amasm.c | 592 +++++------ C/c_interface.c | 8 +- C/cdmgr.c | 248 ++--- C/clause_list.c | 24 +- C/dbase.c | 32 +- C/exec.c | 6 +- C/exo.c | 16 +- C/gprof.c | 4 +- C/heapgc.c | 76 +- C/index.c | 812 +++++++-------- C/init.c | 96 +- H/Regs.h | 27 + H/Yap.h | 8 +- H/absmi.h | 4 +- H/amidefs.h | 36 +- H/clause.h | 2 +- H/cut_c.h | 8 +- H/findclause.h | 480 ++++----- H/headclause.h | 282 +++--- H/rclause.h | 504 +++++----- H/rheap.h | 32 +- H/saveclause.h | 486 ++++----- H/walkclause.h | 36 +- OPTYap/or.macros.h | 18 +- OPTYap/tab.insts.i | 56 +- OPTYap/tab.structs.h | 8 +- OPTYap/tab.tries.c | 4 +- include/YapRegs.h | 2 +- library/dialect/swi/fli/swi.c | 2 +- misc/buildops | 68 +- 31 files changed, 2880 insertions(+), 2877 deletions(-) diff --git a/C/absmi.c b/C/absmi.c index c47dd5664..d655b18b6 100755 --- a/C/absmi.c +++ b/C/absmi.c @@ -522,7 +522,7 @@ static Term push_live_regs(yamop *pco) { CACHE_REGS - CELL *lab = (CELL *)(pco->u.l.l); + CELL *lab = (CELL *)(pco->y_u.l.l); CELL max = lab[0]; CELL curr = lab[1]; Term tp = MkIntegerTerm((Int)pco); @@ -835,7 +835,7 @@ interrupt_handlerc( PredEntry *pe USES_REGS ) /* do creep in call */ ENV = YENV; CP = NEXTOP(P, Osbpp); - YENV = (CELL *) (((char *) YENV) + P->u.Osbpp.s); + YENV = (CELL *) (((char *) YENV) + P->y_u.Osbpp.s); #ifdef FROZEN_STACKS { choiceptr top_b = PROTECT_FROZEN_B(B); @@ -935,7 +935,7 @@ interrupt_execute( USES_REGS1 ) UNLOCK(LOCAL_SignalLock); return v; } - PP = P->u.pp.p0; + PP = P->y_u.pp.p0; if ((PP->ExtraPredFlags & (NoDebugPredFlag|HiddenPredFlag)) && Yap_only_has_signal(YAP_CREEP_SIGNAL)) { UNLOCK(LOCAL_SignalLock); return 2; @@ -945,11 +945,11 @@ interrupt_execute( USES_REGS1 ) UNLOCK(LOCAL_SignalLock); return v; } - if ((v = stack_overflow(P->u.pp.p, ENV, CP PASS_REGS )) >= 0) { + if ((v = stack_overflow(P->y_u.pp.p, ENV, CP PASS_REGS )) >= 0) { UNLOCK(LOCAL_SignalLock); return v; } - return interrupt_handler( P->u.pp.p PASS_REGS ); + return interrupt_handler( P->y_u.pp.p PASS_REGS ); } static int @@ -966,22 +966,22 @@ interrupt_call( USES_REGS1 ) UNLOCK(LOCAL_SignalLock); return v; } - PP = P->u.Osbpp.p0; + PP = P->y_u.Osbpp.p0; if (Yap_only_has_signal(YAP_CREEP_SIGNAL) && (PP->ExtraPredFlags & (NoDebugPredFlag|HiddenPredFlag)) ) { UNLOCK(LOCAL_SignalLock); return 2; } - SET_ASP(YENV, P->u.Osbpp.s); + SET_ASP(YENV, P->y_u.Osbpp.s); if ((v = code_overflow(YENV PASS_REGS)) >= 0) { UNLOCK(LOCAL_SignalLock); return v; } - if ((v = stack_overflow( P->u.Osbpp.p, YENV, NEXTOP(P, Osbpp) PASS_REGS )) >= 0) { + if ((v = stack_overflow( P->y_u.Osbpp.p, YENV, NEXTOP(P, Osbpp) PASS_REGS )) >= 0) { UNLOCK(LOCAL_SignalLock); return v; } - return interrupt_handlerc( P->u.Osbpp.p PASS_REGS ); + return interrupt_handlerc( P->y_u.Osbpp.p PASS_REGS ); } static int @@ -1048,7 +1048,7 @@ interrupt_deallocate( USES_REGS1 ) } else { CELL cut_b = LCL0-(CELL *)(S[E_CB]); - PP = PREVOP(P,p)->u.p.p; + PP = PREVOP(P,p)->y_u.p.p; ASP = YENV+E_CB; /* cut_e */ SET_ASP(YENV, E_CB*sizeof(CELL)); @@ -1153,7 +1153,7 @@ static int interrupt_commit_y( USES_REGS1 ) { int v; - Term t_cut = YENV[P->u.yps.y]; + Term t_cut = YENV[P->y_u.yps.y]; #ifdef DEBUG_INTERRUPTS if (trace_interrupts) fprintf(stderr,"[%d] %lu--%lu %s:%d: (YENV=%p ENV=%p ASP=%p)\n", worker_id, LOCAL_FirstActiveSignal, LOCAL_LastActiveSignal, \ @@ -1178,7 +1178,7 @@ static int interrupt_commit_x( USES_REGS1 ) { int v; - Term t_cut = XREG(P->u.xps.x); + Term t_cut = XREG(P->y_u.xps.x); #ifdef DEBUG_INTERRUPTS if (trace_interrupts) fprintf(stderr,"[%d] %lu--%lu %s:%d (YENV=%p ENV=%p ASP=%p)\n", worker_id, LOCAL_FirstActiveSignal, LOCAL_LastActiveSignal, \ @@ -1194,7 +1194,7 @@ interrupt_commit_x( USES_REGS1 ) UNLOCK(LOCAL_SignalLock); return 2; } - PP = P->u.xps.p0; + PP = P->y_u.xps.p0; /* find something to fool S */ if (P->opc == Yap_opcode(_fcall)) { /* fill it up */ @@ -1228,9 +1228,9 @@ interrupt_either( USES_REGS1 ) UNLOCK(LOCAL_SignalLock); return 2; } - PP = P->u.Osblp.p0; + PP = P->y_u.Osblp.p0; /* find something to fool S */ - SET_ASP(YENV, P->u.Osbpp.s); + SET_ASP(YENV, P->y_u.Osbpp.s); if (ASP > (CELL *)PROTECT_FROZEN_B(B)) ASP = (CELL *)PROTECT_FROZEN_B(B); if ((v = code_overflow(YENV PASS_REGS)) >= 0) { @@ -1254,8 +1254,8 @@ interrupt_dexecute( USES_REGS1 ) if (trace_interrupts) fprintf(stderr,"[%d] %lu--%lu %s/%d (YENV=%p ENV=%p ASP=%p)\n", worker_id, LOCAL_FirstActiveSignal, LOCAL_LastActiveSignal, \ __FUNCTION__, __LINE__,YENV,ENV,ASP); #endif - PP = P->u.pp.p0; - pe = P->u.pp.p; + PP = P->y_u.pp.p0; + pe = P->y_u.pp.p; LOCK(LOCAL_SignalLock); if (Yap_has_signal(YAP_CREEP_SIGNAL) && (PP->ExtraPredFlags & (NoDebugPredFlag|HiddenPredFlag))) { @@ -1270,7 +1270,7 @@ interrupt_dexecute( USES_REGS1 ) UNLOCK(LOCAL_SignalLock); return v; } - if ((v = stack_overflow( P->u.pp.p, (CELL *)YENV[E_E], (yamop *)YENV[E_CP] PASS_REGS )) >= 0) { + if ((v = stack_overflow( P->y_u.pp.p, (CELL *)YENV[E_E], (yamop *)YENV[E_CP] PASS_REGS )) >= 0) { UNLOCK(LOCAL_SignalLock); return v; } @@ -1471,7 +1471,7 @@ Yap_absmi(int inp) nextop_write: old_op = opcode; - opcode = PREG->u.o.opcw; + opcode = PREG->y_u.o.opcw; goto op_switch; nextop: @@ -1566,9 +1566,9 @@ Yap_absmi(int inp) * new register to point at YREG =*/ CACHE_Y(YREG); /* store arguments for procedure */ - store_at_least_one_arg(PREG->u.Otapl.s); + store_at_least_one_arg(PREG->y_u.Otapl.s); /* store abstract machine registers */ - store_yaam_regs(PREG->u.Otapl.d, 0); + store_yaam_regs(PREG->y_u.Otapl.d, 0); /* On a try_me, set cut to point at previous choicepoint, * that is, to the B before the cut. */ @@ -1589,8 +1589,8 @@ Yap_absmi(int inp) CACHE_Y(B); /* After retry, cut should be pointing at the parent * choicepoint for the current B */ - restore_yaam_regs(PREG->u.Otapl.d); - restore_at_least_one_arg(PREG->u.Otapl.s); + restore_yaam_regs(PREG->y_u.Otapl.d); + restore_at_least_one_arg(PREG->y_u.Otapl.s); #ifdef FROZEN_STACKS S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG); set_cut(S_YREG, B->cp_b); @@ -1609,7 +1609,7 @@ Yap_absmi(int inp) #ifdef YAPOR if (SCH_top_shared_cp(B)) { SCH_last_alternative(PREG, B_YREG); - restore_at_least_one_arg(PREG->u.Otapl.s); + restore_at_least_one_arg(PREG->y_u.Otapl.s); #ifdef FROZEN_STACKS S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG); #endif /* FROZEN_STACKS */ @@ -1619,7 +1619,7 @@ Yap_absmi(int inp) #endif /* YAPOR */ { pop_yaam_regs(); - pop_at_least_one_arg(PREG->u.Otapl.s); + pop_at_least_one_arg(PREG->y_u.Otapl.s); /* After trust, cut should be pointing at the new top * choicepoint */ #ifdef FROZEN_STACKS @@ -1661,12 +1661,12 @@ Yap_absmi(int inp) * new register to point at YREG =*/ CACHE_Y(YREG); { - struct index_t *i = (struct index_t *)(PREG->u.lp.l); + struct index_t *i = (struct index_t *)(PREG->y_u.lp.l); S_YREG[-1] = (CELL)LINK_TO_ADDRESS(i,i->links[EXO_ADDRESS_TO_OFFSET(i, SREG)]); } S_YREG--; /* store arguments for procedure */ - store_at_least_one_arg(PREG->u.lp.p->ArityOfPE); + store_at_least_one_arg(PREG->y_u.lp.p->ArityOfPE); /* store abstract machine registers */ store_yaam_regs(NEXTOP(PREG,lp), 0); /* On a try_me, set cut to point at previous choicepoint, @@ -1695,7 +1695,7 @@ Yap_absmi(int inp) CACHE_Y(YREG); S_YREG--; /* store arguments for procedure */ - store_at_least_one_arg(PREG->u.lp.p->ArityOfPE); + store_at_least_one_arg(PREG->y_u.lp.p->ArityOfPE); /* store abstract machine registers */ store_yaam_regs(NEXTOP(PREG,lp), 0); /* On a try_me, set cut to point at previous choicepoint, @@ -1726,7 +1726,7 @@ Yap_absmi(int inp) } S_YREG--; /* store arguments for procedure */ - store_at_least_one_arg(PREG->u.lp.p->ArityOfPE); + store_at_least_one_arg(PREG->y_u.lp.p->ArityOfPE); /* store abstract machine registers */ store_yaam_regs(NEXTOP(PREG,lp), 0); /* On a try_me, set cut to point at previous choicepoint, @@ -1754,14 +1754,14 @@ Yap_absmi(int inp) * new register to point at YREG =*/ CACHE_Y(YREG); { - struct index_t *i = (struct index_t *)(PREG->u.lp.l); + struct index_t *i = (struct index_t *)(PREG->y_u.lp.l); SREG = i->cls; S_YREG[-2] = (CELL)(SREG+i->arity); S_YREG[-1] = (CELL)(SREG+i->arity*i->nels); } S_YREG-=2; /* store arguments for procedure */ - store_at_least_one_arg(PREG->u.lp.p->ArityOfPE); + store_at_least_one_arg(PREG->y_u.lp.p->ArityOfPE); /* store abstract machine registers */ store_yaam_regs(NEXTOP(PREG,lp), 0); /* On a try_me, set cut to point at previous choicepoint, @@ -1784,7 +1784,7 @@ Yap_absmi(int inp) BEGD(d0); CACHE_Y(B); { - struct index_t *it = (struct index_t *)(PREG->u.lp.l); + struct index_t *it = (struct index_t *)(PREG->y_u.lp.l); BITS32 offset = ADDRESS_TO_LINK(it,(BITS32 *)((CELL *)(B+1))[it->arity]); d0 = it->links[offset]; ((CELL *)(B+1))[it->arity] = (CELL)LINK_TO_ADDRESS(it, d0); @@ -1794,7 +1794,7 @@ Yap_absmi(int inp) /* After retry, cut should be pointing at the parent * choicepoint for the current B */ restore_yaam_regs(PREG); - restore_at_least_one_arg(PREG->u.lp.p->ArityOfPE); + restore_at_least_one_arg(PREG->y_u.lp.p->ArityOfPE); #ifdef FROZEN_STACKS S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG); set_cut(S_YREG, B->cp_b); @@ -1806,7 +1806,7 @@ Yap_absmi(int inp) #ifdef YAPOR if (SCH_top_shared_cp(B)) { SCH_last_alternative(PREG, B_YREG); - restore_at_least_one_arg(PREG->u.lp.p->ArityOfPE); + restore_at_least_one_arg(PREG->y_u.lp.p->ArityOfPE); #ifdef FROZEN_STACKS S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG); #endif /* FROZEN_STACKS */ @@ -1815,7 +1815,7 @@ Yap_absmi(int inp) #endif /* YAPOR */ { pop_yaam_regs(); - pop_at_least_one_arg(PREG->u.lp.p->ArityOfPE); + pop_at_least_one_arg(PREG->y_u.lp.p->ArityOfPE); /* After trust, cut should be pointing at the new top * choicepoint */ #ifdef FROZEN_STACKS @@ -1835,7 +1835,7 @@ Yap_absmi(int inp) BEGD(d0); CACHE_Y(B); { - struct index_t *it = (struct index_t *)(PREG->u.lp.l); + struct index_t *it = (struct index_t *)(PREG->y_u.lp.l); saveregs(); d0 = ((CRetryExoIndex)it->udi_next)(it PASS_REGS); setregs(); @@ -1847,7 +1847,7 @@ Yap_absmi(int inp) /* After retry, cut should be pointing at the parent * choicepoint for the current B */ restore_yaam_regs(PREG); - restore_at_least_one_arg(PREG->u.lp.p->ArityOfPE); + restore_at_least_one_arg(PREG->y_u.lp.p->ArityOfPE); #ifdef FROZEN_STACKS S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG); set_cut(S_YREG, B->cp_b); @@ -1859,7 +1859,7 @@ Yap_absmi(int inp) #ifdef YAPOR if (SCH_top_shared_cp(B)) { SCH_last_alternative(PREG, B_YREG); - restore_at_least_one_arg(PREG->u.lp.p->ArityOfPE); + restore_at_least_one_arg(PREG->y_u.lp.p->ArityOfPE); #ifdef FROZEN_STACKS S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG); #endif /* FROZEN_STACKS */ @@ -1868,7 +1868,7 @@ Yap_absmi(int inp) #endif /* YAPOR */ { pop_yaam_regs(); - pop_at_least_one_arg(PREG->u.lp.p->ArityOfPE); + pop_at_least_one_arg(PREG->y_u.lp.p->ArityOfPE); /* After trust, cut should be pointing at the new top * choicepoint */ #ifdef FROZEN_STACKS @@ -1902,7 +1902,7 @@ Yap_absmi(int inp) /* After retry, cut should be pointing at the parent * choicepoint for the current B */ restore_yaam_regs(PREG); - restore_at_least_one_arg(PREG->u.lp.p->ArityOfPE); + restore_at_least_one_arg(PREG->y_u.lp.p->ArityOfPE); #ifdef FROZEN_STACKS S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG); set_cut(S_YREG, B->cp_b); @@ -1914,7 +1914,7 @@ Yap_absmi(int inp) #ifdef YAPOR if (SCH_top_shared_cp(B)) { SCH_last_alternative(PREG, B_YREG); - restore_at_least_one_arg(PREG->u.lp.p->ArityOfPE); + restore_at_least_one_arg(PREG->y_u.lp.p->ArityOfPE); #ifdef FROZEN_STACKS S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG); #endif /* FROZEN_STACKS */ @@ -1923,7 +1923,7 @@ Yap_absmi(int inp) #endif /* YAPOR */ { pop_yaam_regs(); - pop_at_least_one_arg(PREG->u.lp.p->ArityOfPE); + pop_at_least_one_arg(PREG->y_u.lp.p->ArityOfPE); /* After trust, cut should be pointing at the new top * choicepoint */ #ifdef FROZEN_STACKS @@ -1943,7 +1943,7 @@ Yap_absmi(int inp) BEGD(d0); CACHE_Y(B); { - UInt arity = ((struct index_t *)PREG->u.lp.l)->arity; + UInt arity = ((struct index_t *)PREG->y_u.lp.l)->arity; CELL *extras = (CELL *)(B+1); SREG = (CELL *)extras[arity]; d0 = (SREG+arity != (CELL *)extras[arity+1]); @@ -1995,18 +1995,18 @@ Yap_absmi(int inp) /* profiled_enter_me Pred */ Op(enter_profiling, p); - LOCK(PREG->u.p.p->StatisticsForPred.lock); - PREG->u.p.p->StatisticsForPred.NOfEntries++; - UNLOCK(PREG->u.p.p->StatisticsForPred.lock); + LOCK(PREG->y_u.p.p->StatisticsForPred.lock); + PREG->y_u.p.p->StatisticsForPred.NOfEntries++; + UNLOCK(PREG->y_u.p.p->StatisticsForPred.lock); PREG = NEXTOP(PREG, p); GONext(); ENDOp(); /* profiled_retry Label,NArgs */ Op(retry_profiled, p); - LOCK(PREG->u.p.p->StatisticsForPred.lock); - PREG->u.p.p->StatisticsForPred.NOfRetries++; - UNLOCK(PREG->u.p.p->StatisticsForPred.lock); + LOCK(PREG->y_u.p.p->StatisticsForPred.lock); + PREG->y_u.p.p->StatisticsForPred.NOfRetries++; + UNLOCK(PREG->y_u.p.p->StatisticsForPred.lock); PREG = NEXTOP(PREG, p); GONext(); ENDOp(); @@ -2016,11 +2016,11 @@ Yap_absmi(int inp) CACHE_Y(B); /* After retry, cut should be pointing at the parent * choicepoint for the current B */ - LOCK(PREG->u.Otapl.p->StatisticsForPred.lock); - PREG->u.Otapl.p->StatisticsForPred.NOfRetries++; - UNLOCK(PREG->u.Otapl.p->StatisticsForPred.lock); - restore_yaam_regs(PREG->u.Otapl.d); - restore_args(PREG->u.Otapl.s); + LOCK(PREG->y_u.Otapl.p->StatisticsForPred.lock); + PREG->y_u.Otapl.p->StatisticsForPred.NOfRetries++; + UNLOCK(PREG->y_u.Otapl.p->StatisticsForPred.lock); + restore_yaam_regs(PREG->y_u.Otapl.d); + restore_args(PREG->y_u.Otapl.s); #ifdef FROZEN_STACKS S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG); set_cut(S_YREG, B->cp_b); @@ -2039,7 +2039,7 @@ Yap_absmi(int inp) #ifdef YAPOR if (SCH_top_shared_cp(B)) { SCH_last_alternative(PREG, B_YREG); - restore_args(PREG->u.Otapl.s); + restore_args(PREG->y_u.Otapl.s); #ifdef FROZEN_STACKS S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG); #endif /* FROZEN_STACKS */ @@ -2049,7 +2049,7 @@ Yap_absmi(int inp) #endif /* YAPOR */ { pop_yaam_regs(); - pop_args(PREG->u.Otapl.s); + pop_args(PREG->y_u.Otapl.s); /* After trust, cut should be pointing at the new top * choicepoint */ #ifdef FROZEN_STACKS @@ -2059,9 +2059,9 @@ Yap_absmi(int inp) } SET_BB(B_YREG); ENDCACHE_Y(); - LOCK(PREG->u.Otapl.p->StatisticsForPred.lock); - PREG->u.Otapl.p->StatisticsForPred.NOfRetries++; - UNLOCK(PREG->u.Otapl.p->StatisticsForPred.lock); + LOCK(PREG->y_u.Otapl.p->StatisticsForPred.lock); + PREG->y_u.Otapl.p->StatisticsForPred.NOfRetries++; + UNLOCK(PREG->y_u.Otapl.p->StatisticsForPred.lock); PREG = NEXTOP(PREG, Otapl); GONext(); ENDOp(); @@ -2072,21 +2072,21 @@ Yap_absmi(int inp) UInt timestamp; CACHE_Y(B); - timestamp = IntegerOfTerm(((CELL *)(B_YREG+1))[PREG->u.OtaLl.s]); - if (!VALID_TIMESTAMP(timestamp, PREG->u.OtaLl.d)) { + timestamp = IntegerOfTerm(((CELL *)(B_YREG+1))[PREG->y_u.OtaLl.s]); + if (!VALID_TIMESTAMP(timestamp, PREG->y_u.OtaLl.d)) { /* jump to next instruction */ - PREG=PREG->u.OtaLl.n; + PREG=PREG->y_u.OtaLl.n; JMPNext(); } - restore_yaam_regs(PREG->u.OtaLl.n); - restore_args(PREG->u.OtaLl.s); - LOCK(PREG->u.OtaLl.d->ClPred->StatisticsForPred.lock); - PREG->u.OtaLl.d->ClPred->StatisticsForPred.NOfRetries++; - UNLOCK(PREG->u.OtaLl.d->ClPred->StatisticsForPred.lock); + restore_yaam_regs(PREG->y_u.OtaLl.n); + restore_args(PREG->y_u.OtaLl.s); + LOCK(PREG->y_u.OtaLl.d->ClPred->StatisticsForPred.lock); + PREG->y_u.OtaLl.d->ClPred->StatisticsForPred.NOfRetries++; + UNLOCK(PREG->y_u.OtaLl.d->ClPred->StatisticsForPred.lock); #ifdef THREADS - PP = PREG->u.OtaLl.d->ClPred; + PP = PREG->y_u.OtaLl.d->ClPred; #endif - PREG = PREG->u.OtaLl.d->ClCode; + PREG = PREG->y_u.OtaLl.d->ClCode; #ifdef FROZEN_STACKS S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG); set_cut(S_YREG, B->cp_b); @@ -2102,9 +2102,9 @@ Yap_absmi(int inp) BOp(profiled_trust_logical, OtILl); CACHE_Y(B); { - LogUpdIndex *cl = PREG->u.OtILl.block; + LogUpdIndex *cl = PREG->y_u.OtILl.block; PredEntry *ap = cl->ClPred; - LogUpdClause *lcl = PREG->u.OtILl.d; + LogUpdClause *lcl = PREG->y_u.OtILl.d; UInt timestamp = IntegerOfTerm(((CELL *)(B_YREG+1))[ap->ArityOfPE]); if (!VALID_TIMESTAMP(timestamp, lcl)) { @@ -2216,9 +2216,9 @@ Yap_absmi(int inp) /* count_enter_me Label,NArgs */ Op(count_call, p); - LOCK(PREG->u.p.p->StatisticsForPred.lock); - PREG->u.p.p->StatisticsForPred.NOfEntries++; - UNLOCK(PREG->u.p.p->StatisticsForPred.lock); + LOCK(PREG->y_u.p.p->StatisticsForPred.lock); + PREG->y_u.p.p->StatisticsForPred.NOfEntries++; + UNLOCK(PREG->y_u.p.p->StatisticsForPred.lock); LOCAL_ReductionsCounter--; if (LOCAL_ReductionsCounter == 0 && LOCAL_ReductionsCounterOn) { saveregs(); @@ -2239,9 +2239,9 @@ Yap_absmi(int inp) /* count_retry Label,NArgs */ Op(count_retry, p); - LOCK(PREG->u.p.p->StatisticsForPred.lock); - PREG->u.p.p->StatisticsForPred.NOfRetries++; - UNLOCK(PREG->u.p.p->StatisticsForPred.lock); + LOCK(PREG->y_u.p.p->StatisticsForPred.lock); + PREG->y_u.p.p->StatisticsForPred.NOfRetries++; + UNLOCK(PREG->y_u.p.p->StatisticsForPred.lock); LOCAL_RetriesCounter--; if (LOCAL_RetriesCounter == 0 && LOCAL_RetriesCounterOn) { /* act as if we had backtracked */ @@ -2266,8 +2266,8 @@ Yap_absmi(int inp) /* count_retry_me Label,NArgs */ Op(count_retry_me, Otapl); CACHE_Y(B); - restore_yaam_regs(PREG->u.Otapl.d); - restore_args(PREG->u.Otapl.s); + restore_yaam_regs(PREG->y_u.Otapl.d); + restore_args(PREG->y_u.Otapl.s); /* After retry, cut should be pointing at the parent * choicepoint for the current B */ #ifdef FROZEN_STACKS @@ -2278,9 +2278,9 @@ Yap_absmi(int inp) #endif /* FROZEN_STACKS */ SET_BB(B_YREG); ENDCACHE_Y(); - LOCK(((PredEntry *)(PREG->u.Otapl.p))->StatisticsForPred.lock); - ((PredEntry *)(PREG->u.Otapl.p))->StatisticsForPred.NOfRetries++; - UNLOCK(((PredEntry *)(PREG->u.Otapl.p))->StatisticsForPred.lock); + LOCK(((PredEntry *)(PREG->y_u.Otapl.p))->StatisticsForPred.lock); + ((PredEntry *)(PREG->y_u.Otapl.p))->StatisticsForPred.NOfRetries++; + UNLOCK(((PredEntry *)(PREG->y_u.Otapl.p))->StatisticsForPred.lock); LOCAL_RetriesCounter--; if (LOCAL_RetriesCounter == 0 && LOCAL_RetriesCounterOn) { saveregs(); @@ -2305,7 +2305,7 @@ Yap_absmi(int inp) #ifdef YAPOR if (SCH_top_shared_cp(B)) { SCH_last_alternative(PREG, B_YREG); - restore_args(PREG->u.Otapl.s); + restore_args(PREG->y_u.Otapl.s); #ifdef FROZEN_STACKS S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG); #endif /* FROZEN_STACKS */ @@ -2315,7 +2315,7 @@ Yap_absmi(int inp) #endif /* YAPOR */ { pop_yaam_regs(); - pop_args(PREG->u.Otapl.s); + pop_args(PREG->y_u.Otapl.s); /* After trust, cut should be pointing at the new top * choicepoint */ #ifdef FROZEN_STACKS @@ -2339,9 +2339,9 @@ Yap_absmi(int inp) setregs(); JMPNext(); } - LOCK(((PredEntry *)(PREG->u.Otapl.p))->StatisticsForPred.lock); - ((PredEntry *)(PREG->u.Otapl.p))->StatisticsForPred.NOfRetries++; - UNLOCK(((PredEntry *)(PREG->u.Otapl.p))->StatisticsForPred.lock); + LOCK(((PredEntry *)(PREG->y_u.Otapl.p))->StatisticsForPred.lock); + ((PredEntry *)(PREG->y_u.Otapl.p))->StatisticsForPred.NOfRetries++; + UNLOCK(((PredEntry *)(PREG->y_u.Otapl.p))->StatisticsForPred.lock); PREG = NEXTOP(PREG, Otapl); GONext(); ENDOp(); @@ -2352,14 +2352,14 @@ Yap_absmi(int inp) UInt timestamp; CACHE_Y(B); - timestamp = IntegerOfTerm(((CELL *)(B_YREG+1))[PREG->u.OtaLl.s]); - if (!VALID_TIMESTAMP(timestamp, PREG->u.OtaLl.d)) { + timestamp = IntegerOfTerm(((CELL *)(B_YREG+1))[PREG->y_u.OtaLl.s]); + if (!VALID_TIMESTAMP(timestamp, PREG->y_u.OtaLl.d)) { /* jump to next instruction */ - PREG=PREG->u.OtaLl.n; + PREG=PREG->y_u.OtaLl.n; JMPNext(); } - restore_yaam_regs(PREG->u.OtaLl.n); - restore_args(PREG->u.OtaLl.s); + restore_yaam_regs(PREG->y_u.OtaLl.n); + restore_args(PREG->y_u.OtaLl.s); LOCAL_RetriesCounter--; if (LOCAL_RetriesCounter == 0) { saveregs(); @@ -2374,13 +2374,13 @@ Yap_absmi(int inp) setregs(); JMPNext(); } - LOCK(PREG->u.OtaLl.d->ClPred->StatisticsForPred.lock); - PREG->u.OtaLl.d->ClPred->StatisticsForPred.NOfRetries++; - UNLOCK(PREG->u.OtaLl.d->ClPred->StatisticsForPred.lock); + LOCK(PREG->y_u.OtaLl.d->ClPred->StatisticsForPred.lock); + PREG->y_u.OtaLl.d->ClPred->StatisticsForPred.NOfRetries++; + UNLOCK(PREG->y_u.OtaLl.d->ClPred->StatisticsForPred.lock); #ifdef THREADS - PP = PREG->u.OtaLl.d->ClPred; + PP = PREG->y_u.OtaLl.d->ClPred; #endif - PREG = PREG->u.OtaLl.d->ClCode; + PREG = PREG->y_u.OtaLl.d->ClCode; #ifdef FROZEN_STACKS S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG); set_cut(S_YREG, B->cp_b); @@ -2396,9 +2396,9 @@ Yap_absmi(int inp) BOp(count_trust_logical, OtILl); CACHE_Y(B); { - LogUpdIndex *cl = PREG->u.OtILl.block; + LogUpdIndex *cl = PREG->y_u.OtILl.block; PredEntry *ap = cl->ClPred; - LogUpdClause *lcl = PREG->u.OtILl.d; + LogUpdClause *lcl = PREG->y_u.OtILl.d; UInt timestamp = IntegerOfTerm(((CELL *)(B_YREG+1))[ap->ArityOfPE]); if (!VALID_TIMESTAMP(timestamp, lcl)) { @@ -2530,7 +2530,7 @@ Yap_absmi(int inp) if (PP) { GONext(); } - PP = PREG->u.p.p; + PP = PREG->y_u.p.p; PELOCK(3, PP); #endif PREG = NEXTOP(PREG, p); @@ -2556,7 +2556,7 @@ Yap_absmi(int inp) /* we have our own copy for the clause */ #if MULTIPLE_STACKS { - LogUpdClause *cl = PREG->u.L.ClBase; + LogUpdClause *cl = PREG->y_u.L.ClBase; #if PARALLEL_YAP PredEntry *ap = cl->ClPred; #endif @@ -2569,7 +2569,7 @@ Yap_absmi(int inp) } #else { - LogUpdClause *cl = (LogUpdClause *)PREG->u.L.ClBase; + LogUpdClause *cl = (LogUpdClause *)PREG->y_u.L.ClBase; if (!(cl->ClFlags & InUseMask)) { cl->ClFlags |= InUseMask; TRAIL_CLREF(cl); @@ -2637,10 +2637,10 @@ Yap_absmi(int inp) PP = NULL; #else if (!(cl->ClFlags & InUseMask)) { - /* Clause *cl = (Clause *)PREG->u.EC.ClBase; + /* Clause *cl = (Clause *)PREG->y_u.EC.ClBase; - PREG->u.EC.ClTrail = TR-(tr_fr_ptr)LOCAL_TrailBase; - PREG->u.EC.ClENV = LCL0-YREG;*/ + PREG->y_u.EC.ClTrail = TR-(tr_fr_ptr)LOCAL_TrailBase; + PREG->y_u.EC.ClENV = LCL0-YREG;*/ cl->ClFlags |= InUseMask; TRAIL_CLREF(cl); } @@ -2689,10 +2689,10 @@ Yap_absmi(int inp) PP = NULL; #else if (!(cl->ClFlags & InUseMask)) { - /* Clause *cl = (Clause *)PREG->u.EC.ClBase; + /* Clause *cl = (Clause *)PREG->y_u.EC.ClBase; - PREG->u.EC.ClTrail = TR-(tr_fr_ptr)LOCAL_TrailBase; - PREG->u.EC.ClENV = LCL0-YREG;*/ + PREG->y_u.EC.ClTrail = TR-(tr_fr_ptr)LOCAL_TrailBase; + PREG->y_u.EC.ClENV = LCL0-YREG;*/ cl->ClFlags |= InUseMask; TRAIL_CLREF(cl); } @@ -2714,8 +2714,8 @@ Yap_absmi(int inp) /* ensure_space */ BOp(ensure_space, Osbpa); { - Int sz = PREG->u.Osbpa.i; - UInt arity = PREG->u.Osbpa.p->ArityOfPE; + Int sz = PREG->y_u.Osbpa.i; + UInt arity = PREG->y_u.Osbpa.p->ArityOfPE; if (Unsigned(HR) + sz > Unsigned(YREG)-StackGap( PASS_REGS1 )) { YENV[E_CP] = (CELL) CPREG; @@ -2723,7 +2723,7 @@ Yap_absmi(int inp) #ifdef DEPTH_LIMIT YENV[E_DEPTH] = DEPTH; #endif /* DEPTH_LIMIT */ - SET_ASP(YREG, PREG->u.Osbpa.s); + SET_ASP(YREG, PREG->y_u.Osbpa.s); PREG = NEXTOP(PREG,Osbpa); saveregs(); if (!Yap_gcl(sz, arity, YENV, PREG)) { @@ -2746,9 +2746,9 @@ Yap_absmi(int inp) /* spy_or_trymark */ BOp(spy_or_trymark, Otapl); - PELOCK(5, ((PredEntry *)(PREG->u.Otapl.p))); - PREG = (yamop *)(&(((PredEntry *)(PREG->u.Otapl.p))->OpcodeOfPred)); - UNLOCKPE(11,(PredEntry *)(PREG->u.Otapl.p)); + PELOCK(5, ((PredEntry *)(PREG->y_u.Otapl.p))); + PREG = (yamop *)(&(((PredEntry *)(PREG->y_u.Otapl.p))->OpcodeOfPred)); + UNLOCKPE(11,(PredEntry *)(PREG->y_u.Otapl.p)); goto dospy; ENDBOp(); @@ -2760,33 +2760,33 @@ Yap_absmi(int inp) /* The flags I check here should never change during execution */ CUT_wait_leftmost(); #endif /* YAPOR */ - if (PREG->u.Otapl.p->PredFlags & LogUpdatePredFlag) { - PELOCK(6,PREG->u.Otapl.p); - PP = PREG->u.Otapl.p; + if (PREG->y_u.Otapl.p->PredFlags & LogUpdatePredFlag) { + PELOCK(6,PREG->y_u.Otapl.p); + PP = PREG->y_u.Otapl.p; } - if (PREG->u.Otapl.p->CodeOfPred != PREG) { + if (PREG->y_u.Otapl.p->CodeOfPred != PREG) { /* oops, someone changed the procedure under our feet, fortunately this is no big deal because we haven't done anything yet */ PP = NULL; - PREG = PREG->u.Otapl.p->CodeOfPred; - UNLOCKPE(12,PREG->u.Otapl.p); + PREG = PREG->y_u.Otapl.p->CodeOfPred; + UNLOCKPE(12,PREG->y_u.Otapl.p); /* for profiler */ save_pc(); JMPNext(); } #endif CACHE_Y(YREG); - PREG = PREG->u.Otapl.d; + PREG = PREG->y_u.Otapl.d; /* I've got a read lock on the DB, so I don't need to care... niaaahh.... niahhhh... */ LOCK(DynamicLock(PREG)); /* one can now mess around with the predicate */ - UNLOCKPE(13,((PredEntry *)(PREG->u.Otapl.p))); + UNLOCKPE(13,((PredEntry *)(PREG->y_u.Otapl.p))); BEGD(d1); - d1 = PREG->u.Otapl.s; + d1 = PREG->y_u.Otapl.s; store_args(d1); store_yaam_regs(PREG, 0); ENDD(d1); @@ -2832,9 +2832,9 @@ Yap_absmi(int inp) ENDBOp(); BOp(profiled_retry_and_mark, Otapl); - LOCK(((PredEntry *)(PREG->u.Otapl.p))->StatisticsForPred.lock); - ((PredEntry *)(PREG->u.Otapl.p))->StatisticsForPred.NOfRetries++; - UNLOCK(((PredEntry *)(PREG->u.Otapl.p))->StatisticsForPred.lock); + LOCK(((PredEntry *)(PREG->y_u.Otapl.p))->StatisticsForPred.lock); + ((PredEntry *)(PREG->y_u.Otapl.p))->StatisticsForPred.NOfRetries++; + UNLOCK(((PredEntry *)(PREG->y_u.Otapl.p))->StatisticsForPred.lock); /* enter a retry dynamic */ ENDBOp(); @@ -2844,13 +2844,13 @@ Yap_absmi(int inp) CUT_wait_leftmost(); #endif /* YAPOR */ /* need to make the DB stable until I get the new clause */ - PELOCK(7,PREG->u.Otapl.p); + PELOCK(7,PREG->y_u.Otapl.p); CACHE_Y(B); - PREG = PREG->u.Otapl.d; + PREG = PREG->y_u.Otapl.d; LOCK(DynamicLock(PREG)); - UNLOCK(PREG->u.Otapl.p->PELock); + UNLOCK(PREG->y_u.Otapl.p->PELock); restore_yaam_regs(PREG); - restore_args(PREG->u.Otapl.s); + restore_args(PREG->y_u.Otapl.s); #ifdef FROZEN_STACKS S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG); set_cut(S_YREG, B->cp_b); @@ -3013,12 +3013,12 @@ Yap_absmi(int inp) go_on = TRUE; break; case _jump: - ipc = ipc->u.l.l; + ipc = ipc->y_u.l.l; go_on = TRUE; break; case _retry_c: case _retry_userc: - low_level_trace(retry_pred, ipc->u.OtapFs.p, B->cp_args); + low_level_trace(retry_pred, ipc->y_u.OtapFs.p, B->cp_args); break; case _retry_profiled: case _count_retry: @@ -3035,7 +3035,7 @@ Yap_absmi(int inp) case _profiled_retry_and_mark: case _retry: case _trust: - low_level_trace(retry_pred, ipc->u.Otapl.p, B->cp_args); + low_level_trace(retry_pred, ipc->y_u.Otapl.p, B->cp_args); break; case _try_logical: case _retry_logical: @@ -3044,7 +3044,7 @@ Yap_absmi(int inp) case _trust_logical: case _profiled_trust_logical: case _count_trust_logical: - low_level_trace(retry_pred, ipc->u.OtILl.d->ClPred, B->cp_args); + low_level_trace(retry_pred, ipc->y_u.OtILl.d->ClPred, B->cp_args); break; case _Nstop: case _Ystop: @@ -3292,7 +3292,7 @@ Yap_absmi(int inp) ENDCACHE_Y_AS_ENV(); do_cut: #endif - SET_ASP(YREG, PREG->u.s.s); + SET_ASP(YREG, PREG->y_u.s.s); PREG = NEXTOP(NEXTOP(NEXTOP(PREG, s),Osbpp),l); /* assume cut is always in stack */ saveregs(); @@ -3316,7 +3316,7 @@ Yap_absmi(int inp) ENDCACHE_Y_AS_ENV(); do_cut_t: #endif - SET_ASP(YREG, PREG->u.s.s); + SET_ASP(YREG, PREG->y_u.s.s); /* assume cut is always in stack */ saveregs(); prune((choiceptr)YREG[E_CB] PASS_REGS); @@ -3339,7 +3339,7 @@ Yap_absmi(int inp) ENDCACHE_Y_AS_ENV(); do_cut_e: #endif - SET_ASP(YREG, PREG->u.s.s); + SET_ASP(YREG, PREG->y_u.s.s); PREG = NEXTOP(NEXTOP(NEXTOP(PREG, s),Osbpp),l); saveregs(); prune((choiceptr)SREG[E_CB] PASS_REGS); @@ -3356,7 +3356,7 @@ Yap_absmi(int inp) /* save_b_x Xi */ Op(save_b_x, x); BEGD(d0); - d0 = PREG->u.x.x; + d0 = PREG->y_u.x.x; #if defined(YAPOR_SBA) && defined(FROZEN_STACKS) XREG(d0) = MkIntegerTerm((Int)B); #else @@ -3370,9 +3370,9 @@ Yap_absmi(int inp) /* save_b_y Yi */ Op(save_b_y, y); #if defined(YAPOR_SBA) - INITIALIZE_PERMVAR(YREG+PREG->u.y.y,MkIntegerTerm((Int)B)); + INITIALIZE_PERMVAR(YREG+PREG->y_u.y.y,MkIntegerTerm((Int)B)); #else - INITIALIZE_PERMVAR(YREG+PREG->u.y.y,MkIntegerTerm(LCL0-(CELL *)(B))); + INITIALIZE_PERMVAR(YREG+PREG->y_u.y.y,MkIntegerTerm(LCL0-(CELL *)(B))); #endif /* YAPOR_SBA*/ PREG = NEXTOP(PREG, y); GONext(); @@ -3387,11 +3387,11 @@ Yap_absmi(int inp) do_commit_b_x: #endif BEGD(d0); - d0 = XREG(PREG->u.xps.x); + d0 = XREG(PREG->y_u.xps.x); deref_head(d0, commit_b_x_unk); commit_b_x_nvar: /* skip a void call and a label */ - SET_ASP(YREG, PREG->u.xps.s); + SET_ASP(YREG, PREG->y_u.xps.s); PREG = NEXTOP(NEXTOP(NEXTOP(PREG, xps),Osbpp),l); { choiceptr pt0; @@ -3430,10 +3430,10 @@ Yap_absmi(int inp) do_commit_b_y: #endif BEGD(d0); - d0 = YREG[PREG->u.yps.y]; + d0 = YREG[PREG->y_u.yps.y]; deref_head(d0, commit_b_y_unk); commit_b_y_nvar: - SET_ASP(YREG, PREG->u.yps.s); + SET_ASP(YREG, PREG->y_u.yps.s); PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yps),Osbpp),l); { choiceptr pt0; @@ -3474,14 +3474,14 @@ Yap_absmi(int inp) { PredEntry *pt0; CACHE_Y_AS_ENV(YREG); - pt0 = PREG->u.pp.p; + pt0 = PREG->y_u.pp.p; #ifndef NO_CHECKING check_stack(NoStackExecute, HR); goto skip_do_execute; #endif do_execute: FETCH_Y_FROM_ENV(YREG); - pt0 = PREG->u.pp.p; + pt0 = PREG->y_u.pp.p; skip_do_execute: #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) { @@ -3523,14 +3523,14 @@ Yap_absmi(int inp) BOp(dexecute, pp); #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) - low_level_trace(enter_pred,PREG->u.pp.p,XREGS+1); + low_level_trace(enter_pred,PREG->y_u.pp.p,XREGS+1); #endif /* LOW_LEVEL_TRACER */ CACHE_Y_AS_ENV(YREG); { PredEntry *pt0; CACHE_A1(); - pt0 = PREG->u.pp.p; + pt0 = PREG->y_u.pp.p; #ifndef NO_CHECKING /* check stacks */ check_stack(NoStackDExecute, HR); @@ -3538,7 +3538,7 @@ Yap_absmi(int inp) #endif continue_dexecute: FETCH_Y_FROM_ENV(YREG); - pt0 = PREG->u.pp.p; + pt0 = PREG->y_u.pp.p; skip_dexecute: #ifdef DEPTH_LIMIT if (DEPTH <= MkIntTerm(1)) {/* I assume Module==0 is primitives */ @@ -3601,14 +3601,14 @@ Yap_absmi(int inp) BOp(call, Osbpp); #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) { - low_level_trace(enter_pred,PREG->u.Osbpp.p,XREGS+1); + low_level_trace(enter_pred,PREG->y_u.Osbpp.p,XREGS+1); } #endif /* LOW_LEVEL_TRACER */ CACHE_Y_AS_ENV(YREG); { PredEntry *pt; CACHE_A1(); - pt = PREG->u.Osbpp.p; + pt = PREG->y_u.Osbpp.p; #ifndef NO_CHECKING check_stack(NoStackCall, HR); goto skip_call; @@ -3616,11 +3616,11 @@ Yap_absmi(int inp) call_body: /* external jump if we don;t want to creep */ FETCH_Y_FROM_ENV(YREG); - pt = PREG->u.Osbpp.p; + pt = PREG->y_u.Osbpp.p; skip_call: ENV = ENV_YREG; /* Try to preserve the environment */ - ENV_YREG = (CELL *) (((char *) ENV_YREG) + PREG->u.Osbpp.s); + ENV_YREG = (CELL *) (((char *) ENV_YREG) + PREG->y_u.Osbpp.s); CPREG = NEXTOP(PREG, Osbpp); ALWAYS_LOOKAHEAD(pt->OpcodeOfPred); PREG = pt->CodeOfPred; @@ -3779,7 +3779,7 @@ Yap_absmi(int inp) Op(run_eam, os); if (inp==-9000) { /* use indexing to find out valid alternatives */ extern CELL *beam_ALTERNATIVES; - *beam_ALTERNATIVES= (CELL *) PREG->u.os.opcw; + *beam_ALTERNATIVES= (CELL *) PREG->y_u.os.opcw; beam_ALTERNATIVES++; if (OLD_B!=B) goto fail; #if PUSH_REGS @@ -3789,7 +3789,7 @@ Yap_absmi(int inp) } saveregs(); - if (!eam_am((PredEntry *) PREG->u.os.s)) FAIL(); + if (!eam_am((PredEntry *) PREG->y_u.os.s)) FAIL(); setregs(); /* cut */ @@ -3832,8 +3832,8 @@ Yap_absmi(int inp) Op(get_x_var, xx); BEGD(d0); - d0 = XREG(PREG->u.xx.xr); - XREG(PREG->u.xx.xl) = d0; + d0 = XREG(PREG->y_u.xx.xr); + XREG(PREG->y_u.xx.xl) = d0; PREG = NEXTOP(PREG, xx); ENDD(d0); GONext(); @@ -3842,8 +3842,8 @@ Yap_absmi(int inp) Op(get_y_var, yx); BEGD(d0); BEGP(pt0); - pt0 = YREG + PREG->u.yx.y; - d0 = XREG(PREG->u.yx.x); + pt0 = YREG + PREG->y_u.yx.y; + d0 = XREG(PREG->y_u.yx.x); PREG = NEXTOP(PREG, yx); INITIALIZE_PERMVAR(pt0,d0); GONext(); @@ -3855,12 +3855,12 @@ Yap_absmi(int inp) CACHE_Y(YREG); BEGD(d0); BEGP(pt0); - pt0 = S_YREG + PREG->u.yyxx.y1; - d0 = XREG(PREG->u.yyxx.x1); + pt0 = S_YREG + PREG->y_u.yyxx.y1; + d0 = XREG(PREG->y_u.yyxx.x1); BEGD(d1); BEGP(pt1); - pt1 = S_YREG + PREG->u.yyx.y2; - d1 = XREG(PREG->u.yyxx.x2); + pt1 = S_YREG + PREG->y_u.yyx.y2; + d1 = XREG(PREG->y_u.yyxx.x2); PREG = NEXTOP(PREG, yyxx); INITIALIZE_PERMVAR(pt0,d0); INITIALIZE_PERMVAR(pt1,d1); @@ -3878,14 +3878,14 @@ Yap_absmi(int inp) * YREG to the state of the second argument */ Op(get_x_val, xx); BEGD(d0); - d0 = XREG(PREG->u.xx.xl); + d0 = XREG(PREG->y_u.xx.xl); deref_head(d0, gvalx_unk); /* d0 will keep the first argument */ gvalx_nonvar: /* first argument is bound */ BEGD(d1); - d1 = XREG(PREG->u.xx.xr); + d1 = XREG(PREG->y_u.xx.xr); deref_head(d1, gvalx_nonvar_unk); gvalx_nonvar_nonvar: @@ -3910,7 +3910,7 @@ Yap_absmi(int inp) deref_body(d0, pt0, gvalx_unk, gvalx_nonvar); /* first argument is unbound and in pt0 and in d0 */ BEGD(d1); - d1 = XREG(PREG->u.xx.xr); + d1 = XREG(PREG->y_u.xx.xr); deref_head(d1, gvalx_var_unk); gvalx_var_nonvar: @@ -3938,7 +3938,7 @@ Yap_absmi(int inp) BEGD(d0); BEGD(d1); BEGP(pt0); - pt0 = YREG + PREG->u.yx.y; + pt0 = YREG + PREG->y_u.yx.y; d0 = *pt0; /* From now on, it's just a copy of the code for get_x_val */ @@ -3947,7 +3947,7 @@ Yap_absmi(int inp) gvaly_nonvar: /* first argument is bound */ - d1 = XREG(PREG->u.yx.x); + d1 = XREG(PREG->y_u.yx.x); deref_head(d1, gvaly_nonvar_unk); gvaly_nonvar_nonvar: @@ -3969,7 +3969,7 @@ Yap_absmi(int inp) /* first argument may be unbound */ derefa_body(d0, pt0, gvaly_unk, gvaly_nonvar); /* first argument is unbound */ - d1 = XREG(PREG->u.yx.x); + d1 = XREG(PREG->y_u.yx.x); deref_head(d1, gvaly_var_unk); gvaly_var_nonvar: @@ -3994,8 +3994,8 @@ Yap_absmi(int inp) BEGD(d0); BEGD(d1); /* fetch arguments */ - d0 = XREG(PREG->u.xc.x); - d1 = PREG->u.xc.c; + d0 = XREG(PREG->y_u.xc.x); + d1 = PREG->y_u.xc.c; BEGP(pt0); deref_head(d0, gatom_unk); @@ -4023,7 +4023,7 @@ Yap_absmi(int inp) BEGD(d0); BEGD(d1); /* fetch arguments */ - d0 = XREG(PREG->u.x.x); + d0 = XREG(PREG->y_u.x.x); d1 = *SREG; SREG++; @@ -4060,7 +4060,7 @@ Yap_absmi(int inp) deref_head(d0, gatom_2unk); /* argument is nonvar */ gatom_2nonvar: - if (d0 == PREG->u.cc.c1) { + if (d0 == PREG->y_u.cc.c1) { goto gatom_2b; } else { @@ -4069,12 +4069,12 @@ Yap_absmi(int inp) deref_body(d0, pt0, gatom_2unk, gatom_2nonvar); /* argument is a variable */ - YapBind(pt0, PREG->u.cc.c1); + YapBind(pt0, PREG->y_u.cc.c1); ENDP(pt0); gatom_2b: /* fetch arguments */ d0 = ARG2; - d1 = PREG->u.cc.c2; + d1 = PREG->y_u.cc.c2; BEGP(pt0); deref_head(d0, gatom_2bunk); @@ -4108,7 +4108,7 @@ Yap_absmi(int inp) deref_head(d0, gatom_3unk); /* argument is nonvar */ gatom_3nonvar: - if (d0 == PREG->u.ccc.c1) { + if (d0 == PREG->y_u.ccc.c1) { goto gatom_3b; } else { @@ -4117,7 +4117,7 @@ Yap_absmi(int inp) deref_body(d0, pt0, gatom_3unk, gatom_3nonvar); /* argument is a variable */ - YapBind(pt0, PREG->u.ccc.c1); + YapBind(pt0, PREG->y_u.ccc.c1); ENDP(pt0); gatom_3b: /* fetch arguments */ @@ -4127,7 +4127,7 @@ Yap_absmi(int inp) deref_head(d0, gatom_3bunk); /* argument is nonvar */ gatom_3bnonvar: - if (d0 == PREG->u.ccc.c2) { + if (d0 == PREG->y_u.ccc.c2) { goto gatom_3c; } else { @@ -4136,12 +4136,12 @@ Yap_absmi(int inp) deref_body(d0, pt0, gatom_3bunk, gatom_3bnonvar); /* argument is a variable */ - YapBind(pt0, PREG->u.ccc.c2); + YapBind(pt0, PREG->y_u.ccc.c2); ENDP(pt0); gatom_3c: /* fetch arguments */ d0 = ARG3; - d1 = PREG->u.ccc.c3; + d1 = PREG->y_u.ccc.c3; BEGP(pt0); deref_head(d0, gatom_3cunk); @@ -4175,7 +4175,7 @@ Yap_absmi(int inp) deref_head(d0, gatom_4unk); /* argument is nonvar */ gatom_4nonvar: - if (d0 == PREG->u.cccc.c1) { + if (d0 == PREG->y_u.cccc.c1) { goto gatom_4b; } else { @@ -4184,7 +4184,7 @@ Yap_absmi(int inp) deref_body(d0, pt0, gatom_4unk, gatom_4nonvar); /* argument is a variable */ - YapBind(pt0, PREG->u.cccc.c1); + YapBind(pt0, PREG->y_u.cccc.c1); ENDP(pt0); gatom_4b: /* fetch arguments */ @@ -4194,7 +4194,7 @@ Yap_absmi(int inp) deref_head(d0, gatom_4bunk); /* argument is nonvar */ gatom_4bnonvar: - if (d0 == PREG->u.cccc.c2) { + if (d0 == PREG->y_u.cccc.c2) { goto gatom_4c; } else { @@ -4203,7 +4203,7 @@ Yap_absmi(int inp) deref_body(d0, pt0, gatom_4bunk, gatom_4bnonvar); /* argument is a variable */ - YapBind(pt0, PREG->u.cccc.c2); + YapBind(pt0, PREG->y_u.cccc.c2); ENDP(pt0); gatom_4c: /* fetch arguments */ @@ -4213,7 +4213,7 @@ Yap_absmi(int inp) deref_head(d0, gatom_4cunk); /* argument is nonvar */ gatom_4cnonvar: - if (d0 == PREG->u.cccc.c3) { + if (d0 == PREG->y_u.cccc.c3) { goto gatom_4d; } else { @@ -4222,12 +4222,12 @@ Yap_absmi(int inp) deref_body(d0, pt0, gatom_4cunk, gatom_4cnonvar); /* argument is a variable */ - YapBind(pt0, PREG->u.cccc.c3); + YapBind(pt0, PREG->y_u.cccc.c3); ENDP(pt0); gatom_4d: /* fetch arguments */ d0 = ARG4; - d1 = PREG->u.cccc.c4; + d1 = PREG->y_u.cccc.c4; BEGP(pt0); deref_head(d0, gatom_4dunk); @@ -4261,7 +4261,7 @@ Yap_absmi(int inp) deref_head(d0, gatom_5unk); /* argument is nonvar */ gatom_5nonvar: - if (d0 == PREG->u.ccccc.c1) { + if (d0 == PREG->y_u.ccccc.c1) { goto gatom_5b; } else { @@ -4270,7 +4270,7 @@ Yap_absmi(int inp) deref_body(d0, pt0, gatom_5unk, gatom_5nonvar); /* argument is a variable */ - YapBind(pt0, PREG->u.ccccc.c1); + YapBind(pt0, PREG->y_u.ccccc.c1); ENDP(pt0); gatom_5b: /* fetch arguments */ @@ -4280,7 +4280,7 @@ Yap_absmi(int inp) deref_head(d0, gatom_5bunk); /* argument is nonvar */ gatom_5bnonvar: - if (d0 == PREG->u.ccccc.c2) { + if (d0 == PREG->y_u.ccccc.c2) { goto gatom_5c; } else { @@ -4289,7 +4289,7 @@ Yap_absmi(int inp) deref_body(d0, pt0, gatom_5bunk, gatom_5bnonvar); /* argument is a variable */ - YapBind(pt0, PREG->u.ccccc.c2); + YapBind(pt0, PREG->y_u.ccccc.c2); ENDP(pt0); gatom_5c: /* fetch arguments */ @@ -4299,7 +4299,7 @@ Yap_absmi(int inp) deref_head(d0, gatom_5cunk); /* argument is nonvar */ gatom_5cnonvar: - if (d0 == PREG->u.ccccc.c3) { + if (d0 == PREG->y_u.ccccc.c3) { goto gatom_5d; } else { @@ -4308,7 +4308,7 @@ Yap_absmi(int inp) deref_body(d0, pt0, gatom_5cunk, gatom_5cnonvar); /* argument is a variable */ - YapBind(pt0, PREG->u.ccccc.c3); + YapBind(pt0, PREG->y_u.ccccc.c3); ENDP(pt0); gatom_5d: /* fetch arguments */ @@ -4318,7 +4318,7 @@ Yap_absmi(int inp) deref_head(d0, gatom_5dunk); /* argument is nonvar */ gatom_5dnonvar: - if (d0 == PREG->u.ccccc.c4) { + if (d0 == PREG->y_u.ccccc.c4) { goto gatom_5e; } else { @@ -4327,12 +4327,12 @@ Yap_absmi(int inp) deref_body(d0, pt0, gatom_5dunk, gatom_5dnonvar); /* argument is a variable */ - YapBind(pt0, PREG->u.ccccc.c4); + YapBind(pt0, PREG->y_u.ccccc.c4); ENDP(pt0); gatom_5e: /* fetch arguments */ d0 = ARG5; - d1 = PREG->u.ccccc.c5; + d1 = PREG->y_u.ccccc.c5; BEGP(pt0); deref_head(d0, gatom_5eunk); @@ -4366,7 +4366,7 @@ Yap_absmi(int inp) deref_head(d0, gatom_6unk); /* argument is nonvar */ gatom_6nonvar: - if (d0 == PREG->u.cccccc.c1) { + if (d0 == PREG->y_u.cccccc.c1) { goto gatom_6b; } else { @@ -4375,7 +4375,7 @@ Yap_absmi(int inp) deref_body(d0, pt0, gatom_6unk, gatom_6nonvar); /* argument is a variable */ - YapBind(pt0, PREG->u.cccccc.c1); + YapBind(pt0, PREG->y_u.cccccc.c1); ENDP(pt0); gatom_6b: /* fetch arguments */ @@ -4385,7 +4385,7 @@ Yap_absmi(int inp) deref_head(d0, gatom_6bunk); /* argument is nonvar */ gatom_6bnonvar: - if (d0 == PREG->u.cccccc.c2) { + if (d0 == PREG->y_u.cccccc.c2) { goto gatom_6c; } else { @@ -4394,7 +4394,7 @@ Yap_absmi(int inp) deref_body(d0, pt0, gatom_6bunk, gatom_6bnonvar); /* argument is a variable */ - YapBind(pt0, PREG->u.cccccc.c2); + YapBind(pt0, PREG->y_u.cccccc.c2); ENDP(pt0); gatom_6c: /* fetch arguments */ @@ -4404,7 +4404,7 @@ Yap_absmi(int inp) deref_head(d0, gatom_6cunk); /* argument is nonvar */ gatom_6cnonvar: - if (d0 == PREG->u.cccccc.c3) { + if (d0 == PREG->y_u.cccccc.c3) { goto gatom_6d; } else { @@ -4413,7 +4413,7 @@ Yap_absmi(int inp) deref_body(d0, pt0, gatom_6cunk, gatom_6cnonvar); /* argument is a variable */ - YapBind(pt0, PREG->u.cccccc.c3); + YapBind(pt0, PREG->y_u.cccccc.c3); ENDP(pt0); gatom_6d: /* fetch arguments */ @@ -4423,7 +4423,7 @@ Yap_absmi(int inp) deref_head(d0, gatom_6dunk); /* argument is nonvar */ gatom_6dnonvar: - if (d0 == PREG->u.cccccc.c4) { + if (d0 == PREG->y_u.cccccc.c4) { goto gatom_6e; } else { @@ -4432,7 +4432,7 @@ Yap_absmi(int inp) deref_body(d0, pt0, gatom_6dunk, gatom_6dnonvar); /* argument is a variable */ - YapBind(pt0, PREG->u.cccccc.c4); + YapBind(pt0, PREG->y_u.cccccc.c4); ENDP(pt0); gatom_6e: /* fetch arguments */ @@ -4442,7 +4442,7 @@ Yap_absmi(int inp) deref_head(d0, gatom_6eunk); /* argument is nonvar */ gatom_6enonvar: - if (d0 == PREG->u.cccccc.c5) { + if (d0 == PREG->y_u.cccccc.c5) { goto gatom_6f; } else { @@ -4451,12 +4451,12 @@ Yap_absmi(int inp) deref_body(d0, pt0, gatom_6eunk, gatom_6enonvar); /* argument is a variable */ - YapBind(pt0, PREG->u.cccccc.c5); + YapBind(pt0, PREG->y_u.cccccc.c5); ENDP(pt0); gatom_6f: /* fetch arguments */ d0 = ARG6; - d1 = PREG->u.cccccc.c6; + d1 = PREG->y_u.cccccc.c6; BEGP(pt0); deref_head(d0, gatom_6funk); @@ -4485,7 +4485,7 @@ Yap_absmi(int inp) OpRW(get_list, x); BEGD(d0); - d0 = XREG(PREG->u.x.x); + d0 = XREG(PREG->y_u.x.x); deref_head(d0, glist_unk); glist_nonvar: @@ -4528,7 +4528,7 @@ Yap_absmi(int inp) OpRW(get_struct, xfa); BEGD(d0); - d0 = XREG(PREG->u.xfa.x); + d0 = XREG(PREG->y_u.xfa.x); deref_head(d0, gstruct_unk); gstruct_nonvar: @@ -4539,7 +4539,7 @@ Yap_absmi(int inp) CACHE_S(); S_SREG = RepAppl(d0); /* check functor */ - d0 = (CELL) (PREG->u.xfa.f); + d0 = (CELL) (PREG->y_u.xfa.f); if (*S_SREG != d0) { FAIL(); } @@ -4563,9 +4563,9 @@ Yap_absmi(int inp) pt0 = HR; ENDD(d1); /* first, put the functor */ - d0 = (CELL) (PREG->u.xfa.f); + d0 = (CELL) (PREG->y_u.xfa.f); *pt0++ = d0; - HR = pt0 + PREG->u.xfa.a; + HR = pt0 + PREG->y_u.xfa.a; PREG = NEXTOP(PREG, xfa); /* set SREG */ SREG = pt0; @@ -4579,7 +4579,7 @@ Yap_absmi(int inp) Op(get_float, xd); BEGD(d0); - d0 = XREG(PREG->u.xd.x); + d0 = XREG(PREG->y_u.xd.x); deref_head(d0, gfloat_unk); gfloat_nonvar: @@ -4594,7 +4594,7 @@ Yap_absmi(int inp) FAIL(); } BEGP(pt1); - pt1 = PREG->u.xd.d; + pt1 = PREG->y_u.xd.d; PREG = NEXTOP(PREG, xd); if ( pt1[1] != pt0[1] @@ -4614,7 +4614,7 @@ Yap_absmi(int inp) /* set d1 to be the new structure we are going to create */ START_PREFETCH(xc); BEGD(d1); - d1 = AbsAppl(PREG->u.xd.d); + d1 = AbsAppl(PREG->y_u.xd.d); PREG = NEXTOP(PREG, xd); YapBind(pt0, d1); GONext(); @@ -4627,7 +4627,7 @@ Yap_absmi(int inp) Op(get_string, xu); BEGD(d0); - d0 = XREG(PREG->u.xu.x); + d0 = XREG(PREG->y_u.xu.x); deref_head(d0, gstring_unk); gstring_nonvar: @@ -4642,7 +4642,7 @@ Yap_absmi(int inp) FAIL(); } BEGP(pt1); - pt1 = RepAppl(PREG->u.xu.ut); + pt1 = RepAppl(PREG->y_u.xu.ut); PREG = NEXTOP(PREG, xu); if ( pt1[1] != pt0[1] || @@ -4660,7 +4660,7 @@ Yap_absmi(int inp) /* set d1 to be the new structure we are going to create */ START_PREFETCH(xc); BEGD(d1); - d1 = PREG->u.xu.ut; + d1 = PREG->y_u.xu.ut; PREG = NEXTOP(PREG, xu); YapBind(pt0, d1); GONext(); @@ -4673,7 +4673,7 @@ Yap_absmi(int inp) Op(get_longint, xi); BEGD(d0); - d0 = XREG(PREG->u.xi.x); + d0 = XREG(PREG->y_u.xi.x); deref_head(d0, glongint_unk); glongint_nonvar: @@ -4687,7 +4687,7 @@ Yap_absmi(int inp) if (*pt0 != (CELL)FunctorLongInt) { FAIL(); } - if (PREG->u.xi.i[1] != (CELL)pt0[1]) FAIL(); + if (PREG->y_u.xi.i[1] != (CELL)pt0[1]) FAIL(); ENDP(pt0); PREG = NEXTOP(PREG, xi); /* enter read mode */ @@ -4700,7 +4700,7 @@ Yap_absmi(int inp) /* set d1 to be the new structure we are going to create */ START_PREFETCH(xi); BEGD(d1); - d1 = AbsAppl(PREG->u.xi.i); + d1 = AbsAppl(PREG->y_u.xi.i); PREG = NEXTOP(PREG, xi); YapBind(pt0, d1); GONext(); @@ -4714,7 +4714,7 @@ Yap_absmi(int inp) Op(get_bigint, xN); #ifdef USE_GMP BEGD(d0); - d0 = XREG(PREG->u.xN.x); + d0 = XREG(PREG->y_u.xN.x); deref_head(d0, gbigint_unk); gbigint_nonvar: @@ -4729,7 +4729,7 @@ Yap_absmi(int inp) { FAIL(); } - if (Yap_gmp_tcmp_big_big(d0,PREG->u.xN.b)) + if (Yap_gmp_tcmp_big_big(d0,PREG->y_u.xN.b)) FAIL(); PREG = NEXTOP(PREG, xN); ENDP(pt0); @@ -4743,7 +4743,7 @@ Yap_absmi(int inp) /* set d1 to be the new structure we are going to create */ START_PREFETCH(xN); BEGD(d1); - d1 = PREG->u.xN.b; + d1 = PREG->y_u.xN.b; PREG = NEXTOP(PREG, xN); YapBind(pt0, d1); GONext(); @@ -4760,13 +4760,13 @@ Yap_absmi(int inp) Op(get_dbterm, xD); BEGD(d0); - d0 = XREG(PREG->u.xD.x); + d0 = XREG(PREG->y_u.xD.x); deref_head(d0, gdbterm_unk); gdbterm_nonvar: BEGD(d1); /* we have met a preexisting dbterm */ - d1 = PREG->u.xD.D; + d1 = PREG->y_u.xD.D; PREG = NEXTOP(PREG, xD); UnifyBound(d0,d1); ENDD(d1); @@ -4777,7 +4777,7 @@ Yap_absmi(int inp) /* set d1 to be the new structure we are going to create */ START_PREFETCH(xD); BEGD(d1); - d1 = PREG->u.xD.D; + d1 = PREG->y_u.xD.D; PREG = NEXTOP(PREG, xD); YapBind(pt0, d1); GONext(); @@ -4793,7 +4793,7 @@ Yap_absmi(int inp) \************************************************************************/ OpRW(glist_valx, xx); BEGD(d0); - d0 = XREG(PREG->u.xx.xl); + d0 = XREG(PREG->y_u.xx.xl); deref_head(d0, glist_valx_write); glist_valx_read: BEGP(pt0); @@ -4812,7 +4812,7 @@ Yap_absmi(int inp) glist_valx_nonvar: /* first argument is bound */ BEGD(d1); - d1 = XREG(PREG->u.xx.xr); + d1 = XREG(PREG->y_u.xx.xr); deref_head(d1, glist_valx_nonvar_unk); glist_valx_nonvar_nonvar: @@ -4836,7 +4836,7 @@ Yap_absmi(int inp) /* head may be unbound */ derefa_body(d0, pt0, glist_valx_unk, glist_valx_nonvar); /* head is unbound, pt0 has the value */ - d0 = XREG(PREG->u.xx.xr); + d0 = XREG(PREG->y_u.xx.xr); deref_head(d0, glist_valx_var_unk); glist_valx_var_nonvar: @@ -4861,7 +4861,7 @@ Yap_absmi(int inp) /* enter write mode */ S_SREG = HR; BEGD(d1); - d1 = XREG(PREG->u.xx.xr); + d1 = XREG(PREG->y_u.xx.xr); d0 = AbsPair(S_SREG); S_SREG[0] = d1; ENDD(d1); @@ -4880,7 +4880,7 @@ Yap_absmi(int inp) OpRW(glist_valy, yx); BEGD(d0); - d0 = XREG(PREG->u.yx.x); + d0 = XREG(PREG->y_u.yx.x); deref_head(d0, glist_valy_write); glist_valy_read: BEGP(pt0); @@ -4899,7 +4899,7 @@ Yap_absmi(int inp) /* first argument is bound */ BEGD(d1); BEGP(pt1); - pt1 = YREG + PREG->u.yx.y; + pt1 = YREG + PREG->y_u.yx.y; d1 = *pt1; PREG = NEXTOP(PREG, yx); deref_head(d1, glist_valy_nonvar_unk); @@ -4923,7 +4923,7 @@ Yap_absmi(int inp) derefa_body(d0, pt0, glist_valy_unk, glist_valy_nonvar); /* first argument is unbound */ BEGP(pt1); - pt1 = YREG+PREG->u.yx.y; + pt1 = YREG+PREG->y_u.yx.y; d1 = *pt1; deref_head(d1, glist_valy_var_unk); glist_valy_var_nonvar: @@ -4953,7 +4953,7 @@ Yap_absmi(int inp) YapBind(pt0, d0); BEGD(d0); /* include XREG on it */ - d0 = YREG[PREG->u.yx.y]; + d0 = YREG[PREG->y_u.yx.y]; pt1[0] = d0; ENDD(d0); HR = pt1 + 2; @@ -4969,7 +4969,7 @@ Yap_absmi(int inp) Op(gl_void_varx, xx); BEGD(d0); - d0 = XREG(PREG->u.xx.xl); + d0 = XREG(PREG->y_u.xx.xl); deref_head(d0, glist_void_varx_write); glist_void_varx_read: /* did we find a list? */ @@ -4980,7 +4980,7 @@ Yap_absmi(int inp) BEGP(pt0); pt0 = RepPair(d0); d0 = pt0[1]; - XREG(PREG->u.xx.xr) = d0; + XREG(PREG->y_u.xx.xr) = d0; PREG = NEXTOP(PREG, xx); ALWAYS_GONext(); ENDP(pt0); @@ -4992,7 +4992,7 @@ Yap_absmi(int inp) BEGP(pt1); pt1 = HR; /* include XREG on it */ - XREG(PREG->u.xx.xr) = + XREG(PREG->y_u.xx.xr) = Unsigned(pt1 + 1); RESET_VARIABLE(pt1); RESET_VARIABLE(pt1+1); @@ -5010,7 +5010,7 @@ Yap_absmi(int inp) Op(gl_void_vary, yx); BEGD(d0); - d0 = XREG(PREG->u.yx.x); + d0 = XREG(PREG->y_u.yx.x); deref_head(d0, glist_void_vary_write); glist_void_vary_read: /* did we find a list? */ @@ -5021,7 +5021,7 @@ Yap_absmi(int inp) pt0 = RepPair(d0); d0 = pt0[1]; ENDP(pt0); - INITIALIZE_PERMVAR(YREG+PREG->u.yx.y,d0); + INITIALIZE_PERMVAR(YREG+PREG->y_u.yx.y,d0); PREG = NEXTOP(PREG, yx); GONext(); @@ -5031,7 +5031,7 @@ Yap_absmi(int inp) BEGP(pt1); pt1 = HR; /* include XREG on it */ - INITIALIZE_PERMVAR(YREG+PREG->u.yx.y,Unsigned(pt1 + 1)); + INITIALIZE_PERMVAR(YREG+PREG->y_u.yx.y,Unsigned(pt1 + 1)); PREG = NEXTOP(PREG, yx); RESET_VARIABLE(pt1); RESET_VARIABLE(pt1+1); @@ -5047,7 +5047,7 @@ Yap_absmi(int inp) Op(gl_void_valx, xx); BEGD(d0); - d0 = XREG(PREG->u.xx.xl); + d0 = XREG(PREG->y_u.xx.xl); deref_head(d0, glist_void_valx_write); glist_void_valx_read: BEGP(pt0); @@ -5063,7 +5063,7 @@ Yap_absmi(int inp) glist_void_valx_nonvar: /* first argument is bound */ BEGD(d1); - d1 = XREG(PREG->u.xx.xr); + d1 = XREG(PREG->y_u.xx.xr); deref_head(d1, glist_void_valx_nonvar_unk); glist_void_valx_nonvar_nonvar: @@ -5086,7 +5086,7 @@ Yap_absmi(int inp) derefa_body(d0, pt0, glist_void_valx_unk, glist_void_valx_nonvar); /* first argument is unbound */ BEGD(d1); - d1 = XREG(PREG->u.xx.xr); + d1 = XREG(PREG->y_u.xx.xr); deref_head(d1, glist_void_valx_var_unk); glist_void_valx_var_nonvar: @@ -5115,7 +5115,7 @@ Yap_absmi(int inp) pt1 = HR; BEGD(d0); /* include XREG on it */ - d0 = XREG(PREG->u.xx.xr); + d0 = XREG(PREG->y_u.xx.xr); RESET_VARIABLE(pt1); pt1[1] = d0; HR = pt1 + 2; @@ -5130,7 +5130,7 @@ Yap_absmi(int inp) Op(gl_void_valy, yx); BEGD(d0); - d0 = XREG(PREG->u.yx.x); + d0 = XREG(PREG->y_u.yx.x); deref_head(d0, glist_void_valy_write); glist_void_valy_read: BEGP(pt0); @@ -5147,7 +5147,7 @@ Yap_absmi(int inp) /* first argument is bound */ BEGD(d1); BEGP(pt1); - pt1 = YREG+PREG->u.yx.y; + pt1 = YREG+PREG->y_u.yx.y; d1 = *pt1; deref_head(d1, glist_void_valy_nonvar_unk); @@ -5170,7 +5170,7 @@ Yap_absmi(int inp) derefa_body(d0, pt0, glist_void_valy_unk, glist_void_valy_nonvar); /* first argument is unbound */ BEGP(pt1); - pt1 = YREG+PREG->u.yx.y; + pt1 = YREG+PREG->y_u.yx.y; d1 = *pt1; deref_head(d1, glist_void_valy_var_unk); @@ -5199,7 +5199,7 @@ Yap_absmi(int inp) S_SREG = HR; /* include XREG on it */ BEGD(d1); - d1 = YREG[PREG->u.yx.y]; + d1 = YREG[PREG->y_u.yx.y]; RESET_VARIABLE(S_SREG); S_SREG[1] = d1; ENDD(d1); @@ -5228,7 +5228,7 @@ Yap_absmi(int inp) #endif WRITEBACK_S(S_SREG+1); ALWAYS_START_PREFETCH(ox); - XREG(PREG->u.ox.x) = d0; + XREG(PREG->y_u.ox.x) = d0; PREG = NEXTOP(PREG, ox); ALWAYS_GONext(); ALWAYS_END_PREFETCH(); @@ -5240,7 +5240,7 @@ Yap_absmi(int inp) CACHE_S(); READ_IN_S(); BEGP(pt0); - pt0 = &XREG(PREG->u.ox.x); + pt0 = &XREG(PREG->y_u.ox.x); PREG = NEXTOP(PREG, ox); RESET_VARIABLE(S_SREG); *pt0 = (CELL) S_SREG; @@ -5255,7 +5255,7 @@ Yap_absmi(int inp) BEGP(pt0); BEGD(d0); d0 = SREG[0]; - pt0 = &XREG(PREG->u.ox.x); + pt0 = &XREG(PREG->y_u.ox.x); PREG = NEXTOP(PREG, ox); #ifdef YAPOR_SBA if (d0 == 0) @@ -5273,7 +5273,7 @@ Yap_absmi(int inp) CACHE_S(); READ_IN_S(); BEGP(pt0); - pt0 = &XREG(PREG->u.ox.x); + pt0 = &XREG(PREG->y_u.ox.x); PREG = NEXTOP(PREG, ox); RESET_VARIABLE(S_SREG); *pt0 = (CELL)S_SREG; @@ -5288,7 +5288,7 @@ Yap_absmi(int inp) ALWAYS_START_PREFETCH(oxx); READ_IN_S(); BEGP(pt0); - pt0 = &XREG(PREG->u.oxx.xr); + pt0 = &XREG(PREG->y_u.oxx.xr); BEGD(d0); d0 = S_SREG[0]; BEGD(d1); @@ -5300,7 +5300,7 @@ Yap_absmi(int inp) d1 = (CELL)(S_SREG+1); #endif WRITEBACK_S(S_SREG+2); - XREG(PREG->u.oxx.xl) = d0; + XREG(PREG->y_u.oxx.xl) = d0; PREG = NEXTOP(PREG, oxx); *pt0 = d1; ENDD(d0); @@ -5315,9 +5315,9 @@ Yap_absmi(int inp) CACHE_S(); READ_IN_S(); BEGP(pt0); - pt0 = &XREG(PREG->u.oxx.xr); + pt0 = &XREG(PREG->y_u.oxx.xr); RESET_VARIABLE(S_SREG); - XREG(PREG->u.oxx.xl) = (CELL) S_SREG; + XREG(PREG->y_u.oxx.xl) = (CELL) S_SREG; S_SREG++; PREG = NEXTOP(PREG, oxx); RESET_VARIABLE(S_SREG); @@ -5333,17 +5333,17 @@ Yap_absmi(int inp) CACHE_S(); READ_IN_S(); BEGP(pt0); - pt0 = &XREG(PREG->u.oxx.xr); + pt0 = &XREG(PREG->y_u.oxx.xr); BEGD(d0); d0 = S_SREG[0]; BEGD(d1); d1 = S_SREG[1]; #ifdef YAPOR_SBA if (d0 == 0) - XREG(PREG->u.oxx.xl) = (CELL)S_SREG; + XREG(PREG->y_u.oxx.xl) = (CELL)S_SREG; else #endif - XREG(PREG->u.oxx.xl) = d0; + XREG(PREG->y_u.oxx.xl) = d0; PREG = NEXTOP(PREG, oxx); #ifdef YAPOR_SBA if (d1 == 0) @@ -5363,8 +5363,8 @@ Yap_absmi(int inp) CACHE_S(); READ_IN_S(); BEGP(pt0); - pt0 = &XREG(PREG->u.oxx.xr); - XREG(PREG->u.oxx.xl) = (CELL) S_SREG; + pt0 = &XREG(PREG->y_u.oxx.xr); + XREG(PREG->y_u.oxx.xl) = (CELL) S_SREG; RESET_VARIABLE(S_SREG); S_SREG++; *pt0 = (CELL) S_SREG; @@ -5380,10 +5380,10 @@ Yap_absmi(int inp) d0 = *SREG++; #ifdef YAPOR_SBA if (d0 == 0) { - INITIALIZE_PERMVAR(YREG+PREG->u.oy.y,(CELL)(SREG-1)); + INITIALIZE_PERMVAR(YREG+PREG->y_u.oy.y,(CELL)(SREG-1)); } else #else - INITIALIZE_PERMVAR(YREG+PREG->u.oy.y,d0); + INITIALIZE_PERMVAR(YREG+PREG->y_u.oy.y,d0); #endif /* YAPOR_SBA */ PREG = NEXTOP(PREG, oy); GONext(); @@ -5393,7 +5393,7 @@ Yap_absmi(int inp) OpW(unify_y_var_write, oy); CACHE_S(); READ_IN_S(); - INITIALIZE_PERMVAR(YREG+PREG->u.oy.y,(CELL) S_SREG); + INITIALIZE_PERMVAR(YREG+PREG->y_u.oy.y,(CELL) S_SREG); PREG = NEXTOP(PREG, oy); RESET_VARIABLE(S_SREG); WRITEBACK_S(S_SREG+1); @@ -5406,10 +5406,10 @@ Yap_absmi(int inp) d0 = SREG[0]; #ifdef YAPOR_SBA if (d0 == 0) { - INITIALIZE_PERMVAR(YREG+PREG->u.oy.y,(CELL)SREG); + INITIALIZE_PERMVAR(YREG+PREG->y_u.oy.y,(CELL)SREG); } else #else - INITIALIZE_PERMVAR(YREG+PREG->u.oy.y,d0); + INITIALIZE_PERMVAR(YREG+PREG->y_u.oy.y,d0); #endif /* YAPOR_SBA */ PREG = NEXTOP(PREG, oy); GONext(); @@ -5419,7 +5419,7 @@ Yap_absmi(int inp) Op(unify_l_y_var_write, oy); CACHE_S(); READ_IN_S(); - INITIALIZE_PERMVAR(YREG+PREG->u.oy.y,(CELL) S_SREG); + INITIALIZE_PERMVAR(YREG+PREG->y_u.oy.y,(CELL) S_SREG); PREG = NEXTOP(PREG, oy); RESET_VARIABLE(S_SREG); ENDCACHE_S(); @@ -5438,7 +5438,7 @@ Yap_absmi(int inp) uvalx_nonvar: /* first argument is bound */ - d1 = XREG(PREG->u.ox.x); + d1 = XREG(PREG->y_u.ox.x); deref_head(d1, uvalx_nonvar_unk); uvalx_nonvar_nonvar: @@ -5462,7 +5462,7 @@ Yap_absmi(int inp) /* first argument may be unbound */ derefa_body(d0, pt0, uvalx_unk, uvalx_nonvar); /* first argument is unbound */ - d1 = XREG(PREG->u.ox.x); + d1 = XREG(PREG->y_u.ox.x); deref_head(d1, uvalx_var_unk); uvalx_var_nonvar: @@ -5487,7 +5487,7 @@ Yap_absmi(int inp) OpW(unify_x_val_write, ox); /* we are in write mode */ - *SREG++ = XREG(PREG->u.ox.x); + *SREG++ = XREG(PREG->y_u.ox.x); PREG = NEXTOP(PREG, ox); GONextW(); ENDOpW(); @@ -5504,7 +5504,7 @@ Yap_absmi(int inp) ulvalx_nonvar: /* first argument is bound */ - d1 = XREG(PREG->u.ox.x); + d1 = XREG(PREG->y_u.ox.x); deref_head(d1, ulvalx_nonvar_unk); ulvalx_nonvar_nonvar: @@ -5525,7 +5525,7 @@ Yap_absmi(int inp) /* first argument may be unbound */ derefa_body(d0, pt0, ulvalx_unk, ulvalx_nonvar); /* first argument is unbound */ - d1 = XREG(PREG->u.ox.x); + d1 = XREG(PREG->y_u.ox.x); deref_head(d1, ulvalx_var_unk); ulvalx_var_nonvar: @@ -5548,7 +5548,7 @@ Yap_absmi(int inp) Op(unify_l_x_val_write, ox); /* we are in write mode */ - SREG[0] = XREG(PREG->u.ox.x); + SREG[0] = XREG(PREG->y_u.ox.x); PREG = NEXTOP(PREG, ox); GONext(); ENDOp(); @@ -5566,7 +5566,7 @@ Yap_absmi(int inp) uvaly_nonvar: /* first argument is bound */ BEGP(pt1); - pt1 = YREG+PREG->u.oy.y; + pt1 = YREG+PREG->y_u.oy.y; d1 = *pt1; deref_head(d1, uvaly_nonvar_unk); @@ -5590,7 +5590,7 @@ Yap_absmi(int inp) derefa_body(d0, pt0, uvaly_unk, uvaly_nonvar); /* first argument is unbound */ BEGP(pt1); - pt1 = YREG+PREG->u.oy.y; + pt1 = YREG+PREG->y_u.oy.y; d1 = *pt1; deref_head(d1, uvaly_var_unk); @@ -5616,10 +5616,10 @@ Yap_absmi(int inp) OpW(unify_y_val_write, oy); /* we are in write mode */ BEGD(d0); - d0 = YREG[PREG->u.oy.y]; + d0 = YREG[PREG->y_u.oy.y]; #ifdef YAPOR_SBA if (d0 == 0) /* free variable */ - *SREG++ = (CELL)(YREG+PREG->u.oy.y); + *SREG++ = (CELL)(YREG+PREG->y_u.oy.y); else #endif *SREG++ = d0; @@ -5641,7 +5641,7 @@ Yap_absmi(int inp) ulvaly_nonvar: /* first argument is bound */ BEGP(pt1); - pt1 = YREG+PREG->u.oy.y; + pt1 = YREG+PREG->y_u.oy.y; d1 = *pt1; deref_head(d1, ulvaly_nonvar_unk); @@ -5663,7 +5663,7 @@ Yap_absmi(int inp) derefa_body(d0, pt0, ulvaly_unk, ulvaly_nonvar); /* first argument is unbound */ BEGP(pt1); - pt1 = YREG+PREG->u.oy.y; + pt1 = YREG+PREG->y_u.oy.y; d1 = *pt1; deref_head(d1, ulvaly_var_unk); @@ -5689,10 +5689,10 @@ Yap_absmi(int inp) Op(unify_l_y_val_write, oy); /* we are in write mode */ BEGD(d0); - d0 = YREG[PREG->u.oy.y]; + d0 = YREG[PREG->y_u.oy.y]; #ifdef YAPOR_SBA if (d0 == 0) /* new variable */ - SREG[0] = (CELL)(YREG+PREG->u.oy.y); + SREG[0] = (CELL)(YREG+PREG->y_u.oy.y); else #endif SREG[0] = d0; @@ -5713,7 +5713,7 @@ Yap_absmi(int inp) uvalx_loc_nonvar: /* first argument is bound */ - d1 = XREG(PREG->u.ox.x); + d1 = XREG(PREG->y_u.ox.x); deref_head(d1, uvalx_loc_nonvar_unk); uvalx_loc_nonvar_nonvar: @@ -5737,7 +5737,7 @@ Yap_absmi(int inp) /* first argument may be unbound */ derefa_body(d0, pt0, uvalx_loc_unk, uvalx_loc_nonvar); /* first argument is unbound */ - d1 = XREG(PREG->u.ox.x); + d1 = XREG(PREG->y_u.ox.x); deref_head(d1, uvalx_loc_var_unk); uvalx_loc_var_nonvar: @@ -5765,7 +5765,7 @@ Yap_absmi(int inp) OpW(unify_x_loc_write, ox); /* we are in write mode */ BEGD(d0); - d0 = XREG(PREG->u.ox.x); + d0 = XREG(PREG->y_u.ox.x); deref_head(d0, unify_x_loc_unk); unify_x_loc_nonvar: *SREG++ = d0; @@ -5808,7 +5808,7 @@ Yap_absmi(int inp) ulvalx_loc_nonvar: /* first argument is bound */ - d1 = XREG(PREG->u.ox.x); + d1 = XREG(PREG->y_u.ox.x); deref_head(d1, ulvalx_loc_nonvar_unk); ulvalx_loc_nonvar_nonvar: @@ -5827,7 +5827,7 @@ Yap_absmi(int inp) /* first argument may be unbound */ derefa_body(d0, pt0, ulvalx_loc_unk, ulvalx_loc_nonvar); /* first argument is unbound */ - d1 = XREG(PREG->u.ox.x); + d1 = XREG(PREG->y_u.ox.x); deref_head(d1, ulvalx_loc_var_unk); ulvalx_loc_var_nonvar: @@ -5851,7 +5851,7 @@ Yap_absmi(int inp) Op(unify_l_x_loc_write, ox); /* we are in write mode */ BEGD(d0); - d0 = XREG(PREG->u.ox.x); + d0 = XREG(PREG->y_u.ox.x); deref_head(d0, ulnify_x_loc_unk); ulnify_x_loc_nonvar: SREG[0] = d0; @@ -5889,7 +5889,7 @@ Yap_absmi(int inp) uvaly_loc_nonvar: /* structure is bound */ BEGP(pt1); - pt1 = YREG+PREG->u.oy.y; + pt1 = YREG+PREG->y_u.oy.y; d1 = *pt1; deref_head(d1, uvaly_loc_nonvar_unk); @@ -5913,7 +5913,7 @@ Yap_absmi(int inp) derefa_body(d0, pt0, uvaly_loc_unk, uvaly_loc_nonvar); /* first argument is unbound */ BEGP(pt1); - pt1 = YREG+PREG->u.oy.y; + pt1 = YREG+PREG->y_u.oy.y; d1 = *pt1; deref_head(d1, uvaly_loc_var_unk); @@ -5942,7 +5942,7 @@ Yap_absmi(int inp) /* we are in write mode */ BEGD(d0); BEGP(pt0); - pt0 = YREG+PREG->u.oy.y; + pt0 = YREG+PREG->y_u.oy.y; d0 = *pt0; deref_head(d0, unify_y_loc_unk); unify_y_loc_nonvar: @@ -5984,7 +5984,7 @@ Yap_absmi(int inp) ulvaly_loc_nonvar: /* structure is bound */ BEGP(pt1); - pt1 = YREG+PREG->u.oy.y; + pt1 = YREG+PREG->y_u.oy.y; d1 = *pt1; deref_head(d1, ulvaly_loc_nonvar_unk); @@ -6006,7 +6006,7 @@ Yap_absmi(int inp) derefa_body(d0, pt0, ulvaly_loc_unk, ulvaly_loc_nonvar); /* first argument is unbound */ BEGP(pt1); - pt1 = YREG+PREG->u.oy.y; + pt1 = YREG+PREG->y_u.oy.y; d1 = *pt1; deref_head(d1, ulvaly_loc_var_unk); @@ -6033,7 +6033,7 @@ Yap_absmi(int inp) /* we are in write mode */ BEGD(d0); BEGP(pt0); - pt0 = YREG+PREG->u.oy.y; + pt0 = YREG+PREG->y_u.oy.y; d0 = *pt0; deref_head(d0, ulunify_y_loc_unk); ulunify_y_loc_nonvar: @@ -6092,7 +6092,7 @@ Yap_absmi(int inp) ENDOp(); Op(unify_n_voids, os); - SREG += PREG->u.os.s; + SREG += PREG->y_u.os.s; PREG = NEXTOP(PREG, os); GONext(); ENDOp(); @@ -6100,7 +6100,7 @@ Yap_absmi(int inp) OpW(unify_n_voids_write, os); BEGD(d0); CACHE_S(); - d0 = PREG->u.os.s; + d0 = PREG->y_u.os.s; READ_IN_S(); PREG = NEXTOP(PREG, os); for (; d0 > 0; d0--) { @@ -6120,7 +6120,7 @@ Yap_absmi(int inp) Op(unify_l_n_voids_write, os); BEGD(d0); - d0 = PREG->u.os.s; + d0 = PREG->y_u.os.s; PREG = NEXTOP(PREG, os); CACHE_S(); READ_IN_S(); @@ -6140,14 +6140,14 @@ Yap_absmi(int inp) d0 = *pt0; deref_head(d0, uatom_unk); uatom_nonvar: - if (d0 != PREG->u.oc.c) { + if (d0 != PREG->y_u.oc.c) { FAIL(); } PREG = NEXTOP(PREG, oc); GONext(); derefa_body(d0, pt0, uatom_unk, uatom_nonvar); - d0 = PREG->u.oc.c; + d0 = PREG->y_u.oc.c; PREG = NEXTOP(PREG, oc); Bind_Global(pt0, d0); GONext(); @@ -6156,7 +6156,7 @@ Yap_absmi(int inp) ENDOp(); OpW(unify_atom_write, oc); - * SREG++ = PREG->u.oc.c; + * SREG++ = PREG->y_u.oc.c; PREG = NEXTOP(PREG, oc); GONextW(); ENDOpW(); @@ -6168,14 +6168,14 @@ Yap_absmi(int inp) d0 = *SREG; deref_head(d0, ulatom_unk); ulatom_nonvar: - if (d0 != PREG->u.oc.c) { + if (d0 != PREG->y_u.oc.c) { FAIL(); } PREG = NEXTOP(PREG, oc); GONext(); derefa_body(d0, pt0, ulatom_unk, ulatom_nonvar); - d0 = PREG->u.oc.c; + d0 = PREG->y_u.oc.c; PREG = NEXTOP(PREG, oc); Bind_Global(pt0, d0); GONext(); @@ -6184,17 +6184,17 @@ Yap_absmi(int inp) ENDOp(); Op(unify_l_atom_write, oc); - SREG[0] = PREG->u.oc.c; + SREG[0] = PREG->y_u.oc.c; PREG = NEXTOP(PREG, oc); GONext(); ENDOp(); Op(unify_n_atoms, osc); { - register Int i = PREG->u.osc.s; /* not enough registers */ + register Int i = PREG->y_u.osc.s; /* not enough registers */ BEGD(d1); - d1 = PREG->u.osc.c; + d1 = PREG->y_u.osc.c; for (; i > 0; i--) { BEGD(d0); BEGP(pt0); @@ -6222,8 +6222,8 @@ Yap_absmi(int inp) OpW(unify_n_atoms_write, osc); BEGD(d0); BEGD(d1); - d0 = PREG->u.osc.s; - d1 = PREG->u.osc.c; + d0 = PREG->y_u.osc.s; + d1 = PREG->y_u.osc.c; /* write N atoms */ CACHE_S(); READ_IN_S(); @@ -6257,7 +6257,7 @@ Yap_absmi(int inp) } ENDD(d0); BEGP(pt1); - pt1 = PREG->u.od.d; + pt1 = PREG->y_u.od.d; PREG = NEXTOP(PREG, od); if ( pt1[1] != pt0[1] @@ -6271,7 +6271,7 @@ Yap_absmi(int inp) derefa_body(d0, pt0, ufloat_unk, ufloat_nonvar); BEGD(d1); - d1 = AbsAppl(PREG->u.od.d); + d1 = AbsAppl(PREG->y_u.od.d); PREG = NEXTOP(PREG, od); Bind_Global(pt0, d1); GONext(); @@ -6281,7 +6281,7 @@ Yap_absmi(int inp) ENDOp(); OpW(unify_float_write, od); - * SREG++ = AbsAppl(PREG->u.od.d); + * SREG++ = AbsAppl(PREG->y_u.od.d); PREG = NEXTOP(PREG, od); GONextW(); ENDOpW(); @@ -6305,7 +6305,7 @@ Yap_absmi(int inp) } ENDD(d0); BEGP(pt1); - pt1 = PREG->u.od.d; + pt1 = PREG->y_u.od.d; PREG = NEXTOP(PREG, od); if ( pt1[1] != pt0[1] @@ -6319,7 +6319,7 @@ Yap_absmi(int inp) derefa_body(d0, S_SREG, ulfloat_unk, ulfloat_nonvar); BEGD(d1); - d1 = AbsAppl(PREG->u.od.d); + d1 = AbsAppl(PREG->y_u.od.d); PREG = NEXTOP(PREG, od); Bind_Global(S_SREG, d1); GONext(); @@ -6329,7 +6329,7 @@ Yap_absmi(int inp) ENDOp(); Op(unify_l_float_write, od); - SREG[0] = AbsAppl(PREG->u.od.d); + SREG[0] = AbsAppl(PREG->y_u.od.d); PREG = NEXTOP(PREG, od); GONext(); ENDOp(); @@ -6354,7 +6354,7 @@ Yap_absmi(int inp) } ENDD(d0); BEGP(pt1); - pt1 = RepAppl(PREG->u.ou.ut); + pt1 = RepAppl(PREG->y_u.ou.ut); PREG = NEXTOP(PREG, ou); if ( pt1[1] != pt0[1] @@ -6366,7 +6366,7 @@ Yap_absmi(int inp) derefa_body(d0, pt0, ustring_unk, ustring_nonvar); BEGD(d1); - d1 = PREG->u.ou.ut; + d1 = PREG->y_u.ou.ut; PREG = NEXTOP(PREG, ou); Bind_Global(pt0, d1); GONext(); @@ -6394,7 +6394,7 @@ Yap_absmi(int inp) } ENDD(d0); BEGP(pt1); - pt1 = RepAppl(PREG->u.ou.ut); + pt1 = RepAppl(PREG->y_u.ou.ut); PREG = NEXTOP(PREG, ou); if ( pt1[1] != pt0[1] @@ -6406,7 +6406,7 @@ Yap_absmi(int inp) derefa_body(d0, S_SREG, ulstring_unk, ulstring_nonvar); BEGD(d1); - d1 = PREG->u.ou.ut; + d1 = PREG->y_u.ou.ut; PREG = NEXTOP(PREG, ou); Bind_Global(S_SREG, d1); GONext(); @@ -6435,7 +6435,7 @@ Yap_absmi(int inp) } ENDD(d0); BEGP(pt1); - pt1 = PREG->u.oi.i; + pt1 = PREG->y_u.oi.i; PREG = NEXTOP(PREG, oi); if (pt1[1] != pt0[1]) FAIL(); ENDP(pt1); @@ -6444,7 +6444,7 @@ Yap_absmi(int inp) derefa_body(d0, pt0, ulongint_unk, ulongint_nonvar); BEGD(d1); - d1 = AbsAppl(PREG->u.oi.i); + d1 = AbsAppl(PREG->y_u.oi.i); PREG = NEXTOP(PREG, oi); Bind_Global(pt0, d1); GONext(); @@ -6454,7 +6454,7 @@ Yap_absmi(int inp) ENDOp(); OpW(unify_longint_write, oi); - * SREG++ = AbsAppl(PREG->u.oi.i); + * SREG++ = AbsAppl(PREG->y_u.oi.i); PREG = NEXTOP(PREG, oi); GONextW(); ENDOpW(); @@ -6478,7 +6478,7 @@ Yap_absmi(int inp) } ENDD(d0); BEGP(pt1); - pt1 = PREG->u.oi.i; + pt1 = PREG->y_u.oi.i; PREG = NEXTOP(PREG, oi); if (pt1[1] != pt0[1]) FAIL(); ENDP(pt1); @@ -6487,7 +6487,7 @@ Yap_absmi(int inp) derefa_body(d0, S_SREG, ullongint_unk, ullongint_nonvar); BEGD(d1); - d1 = AbsAppl(PREG->u.oi.i); + d1 = AbsAppl(PREG->y_u.oi.i); PREG = NEXTOP(PREG, oi); Bind_Global(S_SREG, d1); GONext(); @@ -6497,7 +6497,7 @@ Yap_absmi(int inp) ENDOp(); Op(unify_l_longint_write, oi); - SREG[0] = AbsAppl(PREG->u.oi.i); + SREG[0] = AbsAppl(PREG->y_u.oi.i); PREG = NEXTOP(PREG, oi); GONext(); ENDOp(); @@ -6523,7 +6523,7 @@ Yap_absmi(int inp) FAIL(); } ENDD(d1); - if (Yap_gmp_tcmp_big_big(d0,PREG->u.oN.b)) + if (Yap_gmp_tcmp_big_big(d0,PREG->y_u.oN.b)) FAIL(); PREG = NEXTOP(PREG, oN); ENDP(pt0); @@ -6531,7 +6531,7 @@ Yap_absmi(int inp) derefa_body(d0, pt0, ubigint_unk, ubigint_nonvar); BEGD(d1); - d1 = PREG->u.oN.b; + d1 = PREG->y_u.oN.b; PREG = NEXTOP(PREG, oN); Bind_Global(pt0, d1); GONext(); @@ -6563,7 +6563,7 @@ Yap_absmi(int inp) FAIL(); } ENDD(d0); - if (Yap_gmp_tcmp_big_big(d0,PREG->u.oN.b)) + if (Yap_gmp_tcmp_big_big(d0,PREG->y_u.oN.b)) FAIL(); PREG = NEXTOP(PREG, oN); ENDP(pt0); @@ -6571,7 +6571,7 @@ Yap_absmi(int inp) derefa_body(d0, S_SREG, ulbigint_unk, ulbigint_nonvar); BEGD(d1); - d1 = PREG->u.oN.b; + d1 = PREG->y_u.oN.b; PREG = NEXTOP(PREG, oN); Bind_Global(S_SREG, d1); GONext(); @@ -6592,14 +6592,14 @@ Yap_absmi(int inp) udbterm_nonvar: BEGD(d1); /* we have met a preexisting dbterm */ - d1 = PREG->u.oD.D; + d1 = PREG->y_u.oD.D; PREG = NEXTOP(PREG, oD); UnifyBound(d0,d1); ENDD(d1); derefa_body(d0, pt0, udbterm_unk, udbterm_nonvar); BEGD(d1); - d1 = PREG->u.oD.D; + d1 = PREG->y_u.oD.D; PREG = NEXTOP(PREG, oD); Bind_Global(pt0, d1); GONext(); @@ -6617,14 +6617,14 @@ Yap_absmi(int inp) uldbterm_nonvar: BEGD(d1); /* we have met a preexisting dbterm */ - d1 = PREG->u.oD.D; + d1 = PREG->y_u.oD.D; PREG = NEXTOP(PREG, oD); UnifyBound(d0,d1); ENDD(d1); derefa_body(d0, S_SREG, uldbterm_unk, uldbterm_nonvar); BEGD(d1); - d1 = PREG->u.oD.D; + d1 = PREG->y_u.oD.D; PREG = NEXTOP(PREG, oD); Bind_Global(S_SREG, d1); GONext(); @@ -6761,7 +6761,7 @@ Yap_absmi(int inp) /* we continue in read mode */ S_SREG = RepAppl(d0); /* just check functor */ - d0 = (CELL) (PREG->u.ofa.f); + d0 = (CELL) (PREG->y_u.ofa.f); if (*S_SREG != d0) { FAIL(); } @@ -6784,9 +6784,9 @@ Yap_absmi(int inp) pt0 = HR; ENDD(d1); /* first, put the functor */ - d0 = (CELL) (PREG->u.ofa.f); + d0 = (CELL) (PREG->y_u.ofa.f); *pt0++ = d0; - HR = pt0 + PREG->u.ofa.a; + HR = pt0 + PREG->y_u.ofa.a; PREG = NEXTOP(PREG, ofa); /* set SREG */ SREG = pt0; @@ -6809,9 +6809,9 @@ Yap_absmi(int inp) d0 = AbsAppl(HR); S_SREG[0] = d0; S_SREG = HR; - d0 = (CELL) (PREG->u.ofa.f); + d0 = (CELL) (PREG->y_u.ofa.f); *S_SREG++ = d0; - HR = S_SREG + PREG->u.ofa.a; + HR = S_SREG + PREG->y_u.ofa.a; PREG = NEXTOP(PREG, ofa); WRITEBACK_S(S_SREG); ENDCACHE_S(); @@ -6834,7 +6834,7 @@ Yap_absmi(int inp) /* we continue in read mode */ SREG = RepAppl(d0); /* just check functor */ - d0 = (CELL) (PREG->u.ofa.f); + d0 = (CELL) (PREG->y_u.ofa.f); if (*SREG++ != d0) { FAIL(); } @@ -6855,9 +6855,9 @@ Yap_absmi(int inp) pt0 = HR; ENDD(d1); /* first, put the functor */ - d0 = (CELL) (PREG->u.ofa.f); + d0 = (CELL) (PREG->y_u.ofa.f); *pt0++ = d0; - HR = pt0 + PREG->u.ofa.a; + HR = pt0 + PREG->y_u.ofa.a; PREG = NEXTOP(PREG, ofa); /* set SREG */ SREG = pt0; @@ -6876,9 +6876,9 @@ Yap_absmi(int inp) READ_IN_S(); S_SREG[0] = d0; S_SREG = HR; - d0 = (CELL) (PREG->u.ofa.f); + d0 = (CELL) (PREG->y_u.ofa.f); *S_SREG++ = d0; - HR = S_SREG + PREG->u.ofa.a; + HR = S_SREG + PREG->y_u.ofa.a; PREG = NEXTOP(PREG, ofa); WRITEBACK_S(S_SREG); ENDCACHE_S(); @@ -6894,9 +6894,9 @@ Yap_absmi(int inp) Op(put_x_var, xx); BEGP(pt0); pt0 = HR; - XREG(PREG->u.xx.xl) = Unsigned(pt0); + XREG(PREG->y_u.xx.xl) = Unsigned(pt0); HR = pt0 + 1; - XREG(PREG->u.xx.xr) = Unsigned(pt0); + XREG(PREG->y_u.xx.xr) = Unsigned(pt0); PREG = NEXTOP(PREG, xx); RESET_VARIABLE(pt0); ENDP(pt0); @@ -6905,8 +6905,8 @@ Yap_absmi(int inp) Op(put_y_var, yx); BEGP(pt0); - pt0 = YREG + PREG->u.yx.y; - XREG(PREG->u.yx.x) = (CELL) pt0; + pt0 = YREG + PREG->y_u.yx.y; + XREG(PREG->y_u.yx.x) = (CELL) pt0; PREG = NEXTOP(PREG, yx); #if defined(YAPOR_SBA) && defined(FROZEN_STACKS) /* We must initialise a shared variable to point to the SBA */ @@ -6922,8 +6922,8 @@ Yap_absmi(int inp) Op(put_x_val, xx); BEGD(d0); - d0 = XREG(PREG->u.xx.xl); - XREG(PREG->u.xx.xr) = d0; + d0 = XREG(PREG->y_u.xx.xl); + XREG(PREG->y_u.xx.xr) = d0; ENDD(d0); PREG = NEXTOP(PREG, xx); GONext(); @@ -6932,10 +6932,10 @@ Yap_absmi(int inp) Op(put_xx_val, xxxx); BEGD(d0); BEGD(d1); - d0 = XREG(PREG->u.xxxx.xl1); - d1 = XREG(PREG->u.xxxx.xl2); - XREG(PREG->u.xxxx.xr1) = d0; - XREG(PREG->u.xxxx.xr2) = d1; + d0 = XREG(PREG->y_u.xxxx.xl1); + d1 = XREG(PREG->y_u.xxxx.xl2); + XREG(PREG->y_u.xxxx.xr1) = d0; + XREG(PREG->y_u.xxxx.xr2) = d1; ENDD(d1); ENDD(d0); PREG = NEXTOP(PREG, xxxx); @@ -6944,13 +6944,13 @@ Yap_absmi(int inp) Op(put_y_val, yx); BEGD(d0); - d0 = YREG[PREG->u.yx.y]; + d0 = YREG[PREG->y_u.yx.y]; #ifdef YAPOR_SBA if (d0 == 0) /* new variable */ - XREG(PREG->u.yx.x) = (CELL)(YREG+PREG->u.yx.y); + XREG(PREG->y_u.yx.x) = (CELL)(YREG+PREG->y_u.yx.y); else #endif - XREG(PREG->u.yx.x) = d0; + XREG(PREG->y_u.yx.x) = d0; ENDD(d0); PREG = NEXTOP(PREG, yx); GONext(); @@ -6959,24 +6959,24 @@ Yap_absmi(int inp) Op(put_y_vals, yyxx); ALWAYS_START_PREFETCH(yyxx); BEGD(d0); - d0 = YREG[PREG->u.yyxx.y1]; + d0 = YREG[PREG->y_u.yyxx.y1]; #ifdef YAPOR_SBA if (d0 == 0) /* new variable */ - XREG(PREG->u.yyxx.x1) = (CELL)(YREG+PREG->u.yyxx.y1); + XREG(PREG->y_u.yyxx.x1) = (CELL)(YREG+PREG->y_u.yyxx.y1); else #endif - XREG(PREG->u.yyxx.x1) = d0; + XREG(PREG->y_u.yyxx.x1) = d0; ENDD(d0); /* allow for some prefetching */ PREG = NEXTOP(PREG, yyxx); BEGD(d1); - d1 = YREG[PREVOP(PREG,yyxx)->u.yyxx.y2]; + d1 = YREG[PREVOP(PREG,yyxx)->y_u.yyxx.y2]; #ifdef YAPOR_SBA if (d1 == 0) /* new variable */ - XREG(PREVOP(PREG->u.yyxx,yyxx).x2) = (CELL)(YREG+PREG->u.yyxx.y2); + XREG(PREVOP(PREG->y_u.yyxx,yyxx).x2) = (CELL)(YREG+PREG->y_u.yyxx.y2); else #endif - XREG(PREVOP(PREG,yyxx)->u.yyxx.x2) = d1; + XREG(PREVOP(PREG,yyxx)->y_u.yyxx.x2) = d1; ENDD(d1); ALWAYS_GONext(); ALWAYS_END_PREFETCH(); @@ -6985,11 +6985,11 @@ Yap_absmi(int inp) Op(put_unsafe, yx); BEGD(d0); BEGP(pt0); - pt0 = YREG+PREG->u.yx.y; + pt0 = YREG+PREG->y_u.yx.y; d0 = *pt0; deref_head(d0, punsafe_unk); punsafe_nonvar: - XREG(PREG->u.yx.x) = d0; + XREG(PREG->y_u.yx.x) = d0; PREG = NEXTOP(PREG, yx); GONext(); @@ -6997,14 +6997,14 @@ Yap_absmi(int inp) /* d0 is a variable, check whether we need to globalise it */ if (pt0 <= HR || pt0 >= YREG) { /* variable is safe */ - XREG(PREG->u.yx.x) = Unsigned(pt0); + XREG(PREG->y_u.yx.x) = Unsigned(pt0); PREG = NEXTOP(PREG, yx); GONext(); } else { /* create a new Heap variable and bind our variable to it */ Bind_Local(pt0, Unsigned(HR)); - XREG(PREG->u.yx.x) = (CELL) HR; + XREG(PREG->y_u.yx.x) = (CELL) HR; RESET_VARIABLE(HR); HR++; PREG = NEXTOP(PREG, yx); @@ -7016,8 +7016,8 @@ Yap_absmi(int inp) Op(put_atom, xc); BEGD(d0); - d0 = PREG->u.xc.c; - XREG(PREG->u.xc.x) = d0; + d0 = PREG->y_u.xc.c; + XREG(PREG->y_u.xc.x) = d0; PREG = NEXTOP(PREG, xc); GONext(); ENDD(d0); @@ -7025,8 +7025,8 @@ Yap_absmi(int inp) Op(put_dbterm, xD); BEGD(d0); - d0 = PREG->u.xD.D; - XREG(PREG->u.xD.x) = d0; + d0 = PREG->y_u.xD.D; + XREG(PREG->y_u.xD.x) = d0; PREG = NEXTOP(PREG, xD); GONext(); ENDD(d0); @@ -7034,8 +7034,8 @@ Yap_absmi(int inp) Op(put_bigint, xN); BEGD(d0); - d0 = PREG->u.xN.b; - XREG(PREG->u.xN.x) = d0; + d0 = PREG->y_u.xN.b; + XREG(PREG->y_u.xN.x) = d0; PREG = NEXTOP(PREG, xN); GONext(); ENDD(d0); @@ -7043,8 +7043,8 @@ Yap_absmi(int inp) Op(put_float, xd); BEGD(d0); - d0 = AbsAppl(PREG->u.xd.d); - XREG(PREG->u.xd.x) = d0; + d0 = AbsAppl(PREG->y_u.xd.d); + XREG(PREG->y_u.xd.x) = d0; PREG = NEXTOP(PREG, xd); GONext(); ENDD(d0); @@ -7052,8 +7052,8 @@ Yap_absmi(int inp) Op(put_longint, xi); BEGD(d0); - d0 = AbsAppl(PREG->u.xi.i); - XREG(PREG->u.xi.x) = d0; + d0 = AbsAppl(PREG->y_u.xi.i); + XREG(PREG->y_u.xi.x) = d0; PREG = NEXTOP(PREG, xi); GONext(); ENDD(d0); @@ -7066,7 +7066,7 @@ Yap_absmi(int inp) HR += 2; BEGD(d0); d0 = AbsPair(S_SREG); - XREG(PREG->u.x.x) = d0; + XREG(PREG->y_u.x.x) = d0; PREG = NEXTOP(PREG, x); ENDD(d0); WRITEBACK_S(S_SREG); @@ -7077,11 +7077,11 @@ Yap_absmi(int inp) Op(put_struct, xfa); BEGD(d0); d0 = AbsAppl(HR); - XREG(PREG->u.xfa.x) = d0; - d0 = (CELL) (PREG->u.xfa.f); + XREG(PREG->y_u.xfa.x) = d0; + d0 = (CELL) (PREG->y_u.xfa.f); *HR++ = d0; SREG = HR; - HR += PREG->u.xfa.a; + HR += PREG->y_u.xfa.a; ENDD(d0); PREG = NEXTOP(PREG, xfa); GONext(); @@ -7092,7 +7092,7 @@ Yap_absmi(int inp) \************************************************************************/ Op(write_x_var, x); - XREG(PREG->u.x.x) = Unsigned(SREG); + XREG(PREG->y_u.x.x) = Unsigned(SREG); PREG = NEXTOP(PREG, x); RESET_VARIABLE(SREG); SREG++; @@ -7108,7 +7108,7 @@ Yap_absmi(int inp) Op(write_n_voids, s); BEGD(d0); - d0 = PREG->u.s.s; + d0 = PREG->y_u.s.s; PREG = NEXTOP(PREG, s); for (; d0 > 0; d0--) { RESET_VARIABLE(SREG); @@ -7119,7 +7119,7 @@ Yap_absmi(int inp) ENDOp(); Op(write_y_var, y); - INITIALIZE_PERMVAR(YREG+PREG->u.y.y,Unsigned(SREG)); + INITIALIZE_PERMVAR(YREG+PREG->y_u.y.y,Unsigned(SREG)); PREG = NEXTOP(PREG, y); RESET_VARIABLE(SREG); SREG++; @@ -7128,7 +7128,7 @@ Yap_absmi(int inp) Op(write_x_val, x); BEGD(d0); - d0 = XREG(PREG->u.x.x); + d0 = XREG(PREG->y_u.x.x); *SREG++ = d0; ENDD(d0); PREG = NEXTOP(PREG, x); @@ -7137,7 +7137,7 @@ Yap_absmi(int inp) Op(write_x_loc, x); BEGD(d0); - d0 = XREG(PREG->u.x.x); + d0 = XREG(PREG->y_u.x.x); PREG = NEXTOP(PREG, x); deref_head(d0, w_x_unk); w_x_bound: @@ -7172,10 +7172,10 @@ Yap_absmi(int inp) Op(write_y_val, y); BEGD(d0); - d0 = YREG[PREG->u.y.y]; + d0 = YREG[PREG->y_u.y.y]; #ifdef YAPOR_SBA if (d0 == 0) /* new variable */ - *SREG++ = (CELL)(YREG+PREG->u.y.y); + *SREG++ = (CELL)(YREG+PREG->y_u.y.y); else #endif *SREG++ = d0; @@ -7187,7 +7187,7 @@ Yap_absmi(int inp) Op(write_y_loc, y); BEGD(d0); BEGP(pt0); - pt0 = YREG+PREG->u.y.y; + pt0 = YREG+PREG->y_u.y.y; d0 = *pt0; deref_head(d0, w_y_unk); w_y_bound: @@ -7223,7 +7223,7 @@ Yap_absmi(int inp) Op(write_atom, c); BEGD(d0); - d0 = PREG->u.c.c; + d0 = PREG->y_u.c.c; *SREG++ = d0; ENDD(d0); PREG = NEXTOP(PREG, c); @@ -7232,7 +7232,7 @@ Yap_absmi(int inp) Op(write_bigint, N); BEGD(d0); - d0 = PREG->u.N.b; + d0 = PREG->y_u.N.b; *SREG++ = d0; ENDD(d0); PREG = NEXTOP(PREG, N); @@ -7241,7 +7241,7 @@ Yap_absmi(int inp) Op(write_dbterm, D); BEGD(d0); - d0 = PREG->u.D.D; + d0 = PREG->y_u.D.D; *SREG++ = d0; ENDD(d0); PREG = NEXTOP(PREG, D); @@ -7250,7 +7250,7 @@ Yap_absmi(int inp) Op(write_float, d); BEGD(d0); - d0 = AbsAppl(PREG->u.d.d); + d0 = AbsAppl(PREG->y_u.d.d); *SREG++ = d0; ENDD(d0); PREG = NEXTOP(PREG, d); @@ -7259,7 +7259,7 @@ Yap_absmi(int inp) Op(write_longint, i); BEGD(d0); - d0 = AbsAppl(PREG->u.i.i); + d0 = AbsAppl(PREG->y_u.i.i); *SREG++ = d0; ENDD(d0); PREG = NEXTOP(PREG, i); @@ -7269,8 +7269,8 @@ Yap_absmi(int inp) Op(write_n_atoms, sc); BEGD(d0); BEGD(d1); - d0 = PREG->u.sc.s; - d1 = PREG->u.sc.c; + d0 = PREG->y_u.sc.s; + d1 = PREG->y_u.sc.c; for (; d0 > 0; d0--) *SREG++ = d1; ENDD(d1); @@ -7317,11 +7317,11 @@ Yap_absmi(int inp) SP[-1] = Unsigned(SREG); SP[-2] = 1; /* Put instructions follow the main stream */ SP -= 2; - d0 = (CELL) (PREG->u.fa.f); + d0 = (CELL) (PREG->y_u.fa.f); *HR++ = d0; ENDD(d0); BEGD(d0); - d0 = PREG->u.fa.a; + d0 = PREG->y_u.fa.a; PREG = NEXTOP(PREG, fa); SREG = HR; HR += d0; @@ -7333,12 +7333,12 @@ Yap_absmi(int inp) BEGD(d0); d0 = AbsAppl(HR); *SREG = d0; - d0 = (CELL) (PREG->u.fa.f); + d0 = (CELL) (PREG->y_u.fa.f); *HR++ = d0; SREG = HR; ENDD(d0); BEGD(d0); - d0 = PREG->u.fa.a; + d0 = PREG->y_u.fa.a; PREG = NEXTOP(PREG, fa); HR += d0; ENDD(d0); @@ -7354,49 +7354,49 @@ Yap_absmi(int inp) */ Op(save_pair_x, ox); - XREG(PREG->u.ox.x) = AbsPair(SREG); + XREG(PREG->y_u.ox.x) = AbsPair(SREG); PREG = NEXTOP(PREG, ox); GONext(); ENDOp(); OpW(save_pair_x_write, ox); - XREG(PREG->u.ox.x) = AbsPair(SREG); + XREG(PREG->y_u.ox.x) = AbsPair(SREG); PREG = NEXTOP(PREG, ox); GONextW(); ENDOpW(); Op(save_pair_y, oy); - INITIALIZE_PERMVAR(YREG+PREG->u.oy.y,AbsPair(SREG)); + INITIALIZE_PERMVAR(YREG+PREG->y_u.oy.y,AbsPair(SREG)); PREG = NEXTOP(PREG, oy); GONext(); ENDOp(); OpW(save_pair_y_write, oy); - INITIALIZE_PERMVAR(YREG+PREG->u.oy.y,AbsPair(SREG)); + INITIALIZE_PERMVAR(YREG+PREG->y_u.oy.y,AbsPair(SREG)); PREG = NEXTOP(PREG, oy); GONextW(); ENDOpW(); Op(save_appl_x, ox); - XREG(PREG->u.ox.x) = AbsAppl(SREG - 1); + XREG(PREG->y_u.ox.x) = AbsAppl(SREG - 1); PREG = NEXTOP(PREG, ox); GONext(); ENDOp(); OpW(save_appl_x_write, ox); - XREG(PREG->u.ox.x) = AbsAppl(SREG - 1); + XREG(PREG->y_u.ox.x) = AbsAppl(SREG - 1); PREG = NEXTOP(PREG, ox); GONextW(); ENDOpW(); Op(save_appl_y, oy); - INITIALIZE_PERMVAR(YREG+PREG->u.oy.y,AbsAppl(SREG-1)); + INITIALIZE_PERMVAR(YREG+PREG->y_u.oy.y,AbsAppl(SREG-1)); PREG = NEXTOP(PREG, oy); GONext(); ENDOp(); OpW(save_appl_y_write, oy); - INITIALIZE_PERMVAR(YREG+PREG->u.oy.y,AbsAppl(SREG-1)); + INITIALIZE_PERMVAR(YREG+PREG->y_u.oy.y,AbsAppl(SREG-1)); PREG = NEXTOP(PREG, oy); GONextW(); ENDOpW(); @@ -7407,7 +7407,7 @@ Yap_absmi(int inp) \************************************************************************/ BOp(jump, l); - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; JMPNext(); ENDBOp(); @@ -7441,7 +7441,7 @@ Yap_absmi(int inp) #endif BEGD(d0); /* Try to preserve the environment */ - d0 = PREG->u.Osblp.s; + d0 = PREG->y_u.Osblp.s; BEGCHO(pt1); pt1 = (choiceptr) ((char *) YREG + (yslot) d0); #ifdef FROZEN_STACKS @@ -7460,7 +7460,7 @@ Yap_absmi(int inp) #endif /* FROZEN_STACKS */ pt1 = (choiceptr)(((CELL *) pt1)-1); *(CELL **) pt1 = YREG; - store_yaam_regs_for_either(PREG->u.Osblp.l, PREG); + store_yaam_regs_for_either(PREG->y_u.Osblp.l, PREG); SREG = (CELL *) (B = pt1); #ifdef YAPOR SCH_set_load(pt1); @@ -7489,10 +7489,10 @@ Yap_absmi(int inp) SET_BB(PROTECT_FROZEN_B(B)); #ifdef YAPOR if (SCH_top_shared_cp(B)) { - SCH_new_alternative(PREG, PREG->u.Osblp.l); + SCH_new_alternative(PREG, PREG->y_u.Osblp.l); } else #endif /* YAPOR */ - B->cp_ap = PREG->u.Osblp.l; + B->cp_ap = PREG->y_u.Osblp.l; PREG = NEXTOP(PREG, Osblp); YREG = (CELL *) B->cp_a1; GONext(); @@ -7544,7 +7544,7 @@ Yap_absmi(int inp) OpRW(pop_n, s); /* write mode might have been called from read mode */ BEGD(d0); - d0 = PREG->u.os.s; + d0 = PREG->y_u.os.s; SP = (CELL *) (((char *) SP) + d0); ENDD(d0); BEGD(d0); @@ -7594,8 +7594,8 @@ Yap_absmi(int inp) BOp(call_cpred, Osbpp); check_trail(TR); - if (!(PREG->u.Osbpp.p->PredFlags & (SafePredFlag)) && - !(PREG->u.Osbpp.p0->ExtraPredFlags & (NoDebugPredFlag|HiddenPredFlag))) { + if (!(PREG->y_u.Osbpp.p->PredFlags & (SafePredFlag)) && + !(PREG->y_u.Osbpp.p0->ExtraPredFlags & (NoDebugPredFlag|HiddenPredFlag))) { CACHE_Y_AS_ENV(YREG); check_stack(NoStackCCall, HR); ENDCACHE_Y_AS_ENV(); @@ -7610,18 +7610,18 @@ Yap_absmi(int inp) #else if (YREG > (CELL *) top_b) ASP = (CELL *)top_b; #endif /* YAPOR_SBA */ - else ASP = (CELL *)(((char *)YREG) + PREG->u.Osbpp.s); + else ASP = (CELL *)(((char *)YREG) + PREG->y_u.Osbpp.s); } #else - SET_ASP(YREG, PREG->u.Osbpp.s); + SET_ASP(YREG, PREG->y_u.Osbpp.s); /* for slots to work */ #endif /* FROZEN_STACKS */ #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) - low_level_trace(enter_pred,PREG->u.Osbpp.p,XREGS+1); + low_level_trace(enter_pred,PREG->y_u.Osbpp.p,XREGS+1); #endif /* LOW_LEVEL_TRACE */ BEGD(d0); - CPredicate f = PREG->u.Osbpp.p->cs.f_code; + CPredicate f = PREG->y_u.Osbpp.p->cs.f_code; PREG = NEXTOP(PREG, Osbpp); saveregs(); d0 = (f)(PASS_REGS1); @@ -7668,7 +7668,7 @@ Yap_absmi(int inp) SET_ASP(YREG, E_CB*sizeof(CELL)); /* for slots to work */ #endif /* FROZEN_STACKS */ - pt0 = PREG->u.pp.p; + pt0 = PREG->y_u.pp.p; #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) { low_level_trace(enter_pred,pt0,XREGS+1); @@ -7694,7 +7694,7 @@ Yap_absmi(int inp) #endif /* DEPTH_LIMIT */ /* now call C-Code */ { - CPredicate f = PREG->u.pp.p->cs.f_code; + CPredicate f = PREG->y_u.pp.p->cs.f_code; yamop *oldPREG = PREG; saveregs(); d0 = (f)(PASS_REGS1); @@ -7739,7 +7739,7 @@ Yap_absmi(int inp) do_user_call: #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) { - low_level_trace(enter_pred,PREG->u.Osbpp.p,XREGS+1); + low_level_trace(enter_pred,PREG->y_u.Osbpp.p,XREGS+1); } #endif /* LOW_LEVEL_TRACE */ #ifdef FROZEN_STACKS @@ -7750,10 +7750,10 @@ Yap_absmi(int inp) #else if (YREG > (CELL *) top_b) ASP = (CELL *) top_b; #endif /* YAPOR_SBA */ - else ASP = (CELL *)(((char *)YREG) + PREG->u.Osbpp.s); + else ASP = (CELL *)(((char *)YREG) + PREG->y_u.Osbpp.s); } #else - SET_ASP(YREG, PREG->u.Osbpp.s); + SET_ASP(YREG, PREG->y_u.Osbpp.s); /* for slots to work */ #endif /* FROZEN_STACKS */ { @@ -7762,7 +7762,7 @@ Yap_absmi(int inp) LOCAL_PrologMode |= UserCCallMode; { - PredEntry *p = PREG->u.Osbpp.p; + PredEntry *p = PREG->y_u.Osbpp.p; PREG = NEXTOP(PREG, Osbpp); savedP = PREG; @@ -7798,7 +7798,7 @@ Yap_absmi(int inp) BOp(call_c_wfail, slp); #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) { - low_level_trace(enter_pred,PREG->u.slp.p,XREGS+1); + low_level_trace(enter_pred,PREG->y_u.slp.p,XREGS+1); } #endif /* LOW_LEVEL_TRACE */ #ifdef FROZEN_STACKS @@ -7811,7 +7811,7 @@ Yap_absmi(int inp) #endif /* YAPOR_SBA */ else { BEGD(d0); - d0 = PREG->u.slp.s; + d0 = PREG->y_u.slp.s; ASP = ((CELL *)YREG) + d0; ENDD(d0); } @@ -7821,13 +7821,13 @@ Yap_absmi(int inp) ASP = (CELL *) B; else { BEGD(d0); - d0 = PREG->u.slp.s; + d0 = PREG->y_u.slp.s; ASP = ((CELL *) YREG) + d0; ENDD(d0); } #endif /* FROZEN_STACKS */ { - CPredicate f = PREG->u.slp.p->cs.f_code; + CPredicate f = PREG->y_u.slp.p->cs.f_code; saveregs(); SREG = (CELL *)((f)(PASS_REGS1)); setregs(); @@ -7835,7 +7835,7 @@ Yap_absmi(int inp) if (!SREG) { /* be careful about error handling */ if (PREG != FAILCODE) - PREG = PREG->u.slp.l; + PREG = PREG->y_u.slp.l; } else { PREG = NEXTOP(PREG, slp); } @@ -7850,8 +7850,8 @@ Yap_absmi(int inp) CACHE_Y(YREG); /* Alocate space for the cut_c structure*/ CUT_C_PUSH(NEXTOP(NEXTOP(PREG,OtapFs),OtapFs),S_YREG); - S_YREG = S_YREG - PREG->u.OtapFs.extra; - store_args(PREG->u.OtapFs.s); + S_YREG = S_YREG - PREG->y_u.OtapFs.extra; + store_args(PREG->y_u.OtapFs.s); store_yaam_regs(NEXTOP(PREG, OtapFs), 0); B = B_YREG; #ifdef YAPOR @@ -7863,7 +7863,7 @@ Yap_absmi(int inp) TRYCC: ASP = (CELL *)B; { - CPredicate f = (CPredicate)(PREG->u.OtapFs.f); + CPredicate f = (CPredicate)(PREG->y_u.OtapFs.f); saveregs(); SREG = (CELL *) ((f) (PASS_REGS1)); /* This last instruction changes B B*/ @@ -7905,7 +7905,7 @@ Yap_absmi(int inp) DEPTH =B->cp_depth; #endif HBREG = HR; - restore_args(PREG->u.OtapFs.s); + restore_args(PREG->y_u.OtapFs.s); ENDCACHE_Y(); goto TRYCC; ENDBOp(); @@ -7926,8 +7926,8 @@ Yap_absmi(int inp) CACHE_Y(YREG); /* Alocate space for the cut_c structure*/ CUT_C_PUSH(NEXTOP(NEXTOP(PREG,OtapFs),OtapFs),S_YREG); - S_YREG = S_YREG - PREG->u.OtapFs.extra; - store_args(PREG->u.OtapFs.s); + S_YREG = S_YREG - PREG->y_u.OtapFs.extra; + store_args(PREG->y_u.OtapFs.s); store_yaam_regs(NEXTOP(PREG, OtapFs), 0); B = B_YREG; #ifdef YAPOR @@ -7939,7 +7939,7 @@ Yap_absmi(int inp) ASP = YREG; saveregs(); save_machine_regs(); - SREG = (CELL *) YAP_ExecuteFirst(PREG->u.OtapFs.p, (CPredicate)(PREG->u.OtapFs.f)); + SREG = (CELL *) YAP_ExecuteFirst(PREG->y_u.OtapFs.p, (CPredicate)(PREG->y_u.OtapFs.f)); EX = NULL; restore_machine_regs(); setregs(); @@ -7972,14 +7972,14 @@ Yap_absmi(int inp) DEPTH =B->cp_depth; #endif HBREG = HR; - restore_args(PREG->u.OtapFs.s); + restore_args(PREG->y_u.OtapFs.s); ENDCACHE_Y(); LOCAL_PrologMode |= UserCCallMode; SET_ASP(YREG, E_CB*sizeof(CELL)); saveregs(); save_machine_regs(); - SREG = (CELL *) YAP_ExecuteNext(PREG->u.OtapFs.p, (CPredicate)(PREG->u.OtapFs.f)); + SREG = (CELL *) YAP_ExecuteNext(PREG->y_u.OtapFs.p, (CPredicate)(PREG->y_u.OtapFs.f)); EX = NULL; restore_machine_regs(); setregs(); @@ -8146,7 +8146,7 @@ Yap_absmi(int inp) BOp(expand_clauses, sssllp); { - PredEntry *pe = PREG->u.sssllp.p; + PredEntry *pe = PREG->y_u.sssllp.p; yamop *pt0; /* update ASP before calling IPred */ @@ -8380,9 +8380,9 @@ Yap_absmi(int inp) check_trail(TR); CACHE_Y(YREG); /* Point AP to the code that follows this instruction */ - store_at_least_one_arg(PREG->u.Otapl.s); + store_at_least_one_arg(PREG->y_u.Otapl.s); store_yaam_regs(NEXTOP(PREG, Otapl), 0); - PREG = PREG->u.Otapl.d; + PREG = PREG->y_u.Otapl.d; set_cut(S_YREG, B); B = B_YREG; #ifdef YAPOR @@ -8405,7 +8405,7 @@ Yap_absmi(int inp) B_YREG->cp_a1 = x1; B_YREG->cp_a2 = x2; } - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; set_cut(S_YREG, B); B = B_YREG; #ifdef YAPOR @@ -8426,7 +8426,7 @@ Yap_absmi(int inp) B_YREG->cp_a2 = ARG2; B_YREG->cp_a3 = ARG3; } - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; set_cut(S_YREG, B); B = B_YREG; #ifdef YAPOR @@ -8448,7 +8448,7 @@ Yap_absmi(int inp) B_YREG->cp_a3 = ARG3; B_YREG->cp_a4 = ARG4; } - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; set_cut(S_YREG, B); B = B_YREG; #ifdef YAPOR @@ -8462,7 +8462,7 @@ Yap_absmi(int inp) BOp(retry, Otapl); CACHE_Y(B); restore_yaam_regs(NEXTOP(PREG, Otapl)); - restore_at_least_one_arg(PREG->u.Otapl.s); + restore_at_least_one_arg(PREG->y_u.Otapl.s); #ifdef FROZEN_STACKS S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG); set_cut(S_YREG, B->cp_b); @@ -8471,14 +8471,14 @@ Yap_absmi(int inp) #endif /* FROZEN_STACKS */ SET_BB(B_YREG); ENDCACHE_Y(); - PREG = PREG->u.Otapl.d; + PREG = PREG->y_u.Otapl.d; JMPNext(); ENDBOp(); BOp(retry2, l); CACHE_Y(B); restore_yaam_regs(NEXTOP(PREG, l)); - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; ARG1 = B_YREG->cp_a1; ARG2 = B_YREG->cp_a2; #ifdef FROZEN_STACKS @@ -8495,7 +8495,7 @@ Yap_absmi(int inp) BOp(retry3, l); CACHE_Y(B); restore_yaam_regs(NEXTOP(PREG, l)); - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; ARG1 = B_YREG->cp_a1; ARG2 = B_YREG->cp_a2; ARG3 = B_YREG->cp_a3; @@ -8513,7 +8513,7 @@ Yap_absmi(int inp) BOp(retry4, l); CACHE_Y(B); restore_yaam_regs(NEXTOP(PREG, l)); - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; ARG1 = B_YREG->cp_a1; ARG2 = B_YREG->cp_a2; ARG3 = B_YREG->cp_a3; @@ -8534,7 +8534,7 @@ Yap_absmi(int inp) #ifdef YAPOR if (SCH_top_shared_cp(B)) { SCH_last_alternative(PREG, B_YREG); - restore_at_least_one_arg(PREG->u.Otapl.s); + restore_at_least_one_arg(PREG->y_u.Otapl.s); #ifdef FROZEN_STACKS S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG); #endif /* FROZEN_STACKS */ @@ -8544,7 +8544,7 @@ Yap_absmi(int inp) #endif /* YAPOR */ { pop_yaam_regs(); - pop_at_least_one_arg(PREG->u.Otapl.s); + pop_at_least_one_arg(PREG->y_u.Otapl.s); #ifdef FROZEN_STACKS S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG); #endif /* FROZEN_STACKS */ @@ -8552,13 +8552,13 @@ Yap_absmi(int inp) } SET_BB(B_YREG); ENDCACHE_Y(); - PREG = PREG->u.Otapl.d; + PREG = PREG->y_u.Otapl.d; JMPNext(); ENDBOp(); BOp(try_in, l); B->cp_ap = NEXTOP(PREG, l); - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; JMPNext(); ENDBOp(); @@ -8573,7 +8573,7 @@ Yap_absmi(int inp) check_trail(TR); /* mark the indexing code */ { - LogUpdIndex *cl = PREG->u.Illss.I; + LogUpdIndex *cl = PREG->y_u.Illss.I; PredEntry *ap = cl->ClPred; if (!cl) { FAIL(); } /* in case the index is empty */ @@ -8589,8 +8589,8 @@ Yap_absmi(int inp) /* fprintf(stderr,"R %x--%d--%ul\n",ap,ap->TimeStampOfPred,ap->ArityOfPE);*/ } *--YREG = MkIntegerTerm(ap->TimeStampOfPred); - /* fprintf(stderr,"> %p/%p %d %d\n",cl,ap,ap->TimeStampOfPred,PREG->u.Illss.s);*/ - PREG = PREG->u.Illss.l1; + /* fprintf(stderr,"> %p/%p %d %d\n",cl,ap,ap->TimeStampOfPred,PREG->y_u.Illss.s);*/ + PREG = PREG->y_u.Illss.l1; /* indicate the indexing code is being used */ #if MULTIPLE_STACKS /* just store a reference */ @@ -8613,24 +8613,24 @@ Yap_absmi(int inp) CACHE_Y(YREG); timestamp = IntegerOfTerm(S_YREG[0]); - /* fprintf(stderr,"+ %p/%p %d %d %d--%u\n",PREG,PREG->u.OtaLl.d->ClPred,timestamp,PREG->u.OtaLl.d->ClPred->TimeStampOfPred,PREG->u.OtaLl.d->ClTimeStart,PREG->u.OtaLl.d->ClTimeEnd);*/ + /* fprintf(stderr,"+ %p/%p %d %d %d--%u\n",PREG,PREG->y_u.OtaLl.d->ClPred,timestamp,PREG->y_u.OtaLl.d->ClPred->TimeStampOfPred,PREG->y_u.OtaLl.d->ClTimeStart,PREG->y_u.OtaLl.d->ClTimeEnd);*/ /* Point AP to the code that follows this instruction */ /* always do this, even if we are not going to use it */ - store_args(PREG->u.OtaLl.s); - store_yaam_regs(PREG->u.OtaLl.n, 0); + store_args(PREG->y_u.OtaLl.s); + store_yaam_regs(PREG->y_u.OtaLl.n, 0); set_cut(S_YREG, B); B = B_YREG; #ifdef YAPOR SCH_set_load(B_YREG); #endif /* YAPOR */ #ifdef YAPOR - PP = PREG->u.OtaLl.d->ClPred; + PP = PREG->y_u.OtaLl.d->ClPred; #endif /* YAPOR */ - if (!VALID_TIMESTAMP(timestamp, PREG->u.OtaLl.d)) { + if (!VALID_TIMESTAMP(timestamp, PREG->y_u.OtaLl.d)) { /* jump to next alternative */ - PREG=PREG->u.OtaLl.n; + PREG=PREG->y_u.OtaLl.n; } else { - PREG = PREG->u.OtaLl.d->ClCode; + PREG = PREG->y_u.OtaLl.d->ClCode; } SET_BB(B_YREG); ENDCACHE_Y(); @@ -8646,23 +8646,23 @@ Yap_absmi(int inp) #if defined(YAPOR) || defined(THREADS) if (!PP) { - PP = PREG->u.OtaLl.d->ClPred; + PP = PREG->y_u.OtaLl.d->ClPred; PELOCK(15,PP); } #endif - timestamp = IntegerOfTerm(((CELL *)(B_YREG+1))[PREG->u.OtaLl.s]); - /* fprintf(stderr,"^ %p/%p %d %d %d--%u\n",PREG,PREG->u.OtaLl.d->ClPred,timestamp,PREG->u.OtaLl.d->ClPred->TimeStampOfPred,PREG->u.OtaLl.d->ClTimeStart,PREG->u.OtaLl.d->ClTimeEnd);*/ - if (!VALID_TIMESTAMP(timestamp, PREG->u.OtaLl.d)) { + timestamp = IntegerOfTerm(((CELL *)(B_YREG+1))[PREG->y_u.OtaLl.s]); + /* fprintf(stderr,"^ %p/%p %d %d %d--%u\n",PREG,PREG->y_u.OtaLl.d->ClPred,timestamp,PREG->y_u.OtaLl.d->ClPred->TimeStampOfPred,PREG->y_u.OtaLl.d->ClTimeStart,PREG->y_u.OtaLl.d->ClTimeEnd);*/ + if (!VALID_TIMESTAMP(timestamp, PREG->y_u.OtaLl.d)) { /* jump to next instruction */ - PREG=PREG->u.OtaLl.n; + PREG=PREG->y_u.OtaLl.n; JMPNext(); } - restore_yaam_regs(PREG->u.OtaLl.n); - restore_at_least_one_arg(PREG->u.OtaLl.s); + restore_yaam_regs(PREG->y_u.OtaLl.n); + restore_at_least_one_arg(PREG->y_u.OtaLl.s); #ifdef THREADS - PP = PREG->u.OtaLl.d->ClPred; + PP = PREG->y_u.OtaLl.d->ClPred; #endif - PREG = PREG->u.OtaLl.d->ClCode; + PREG = PREG->y_u.OtaLl.d->ClCode; #ifdef FROZEN_STACKS S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG); set_cut(S_YREG, B->cp_b); @@ -8678,12 +8678,12 @@ Yap_absmi(int inp) BOp(trust_logical, OtILl); CACHE_Y(B); { - LogUpdIndex *cl = PREG->u.OtILl.block; + LogUpdIndex *cl = PREG->y_u.OtILl.block; PredEntry *ap = cl->ClPred; - LogUpdClause *lcl = PREG->u.OtILl.d; + LogUpdClause *lcl = PREG->y_u.OtILl.d; UInt timestamp = IntegerOfTerm(((CELL *)(B_YREG+1))[ap->ArityOfPE]); - /* fprintf(stderr,"- %p/%p %d %d %p\n",PREG,ap,timestamp,ap->TimeStampOfPred,PREG->u.OtILl.d->ClCode);*/ + /* fprintf(stderr,"- %p/%p %d %d %p\n",PREG,ap,timestamp,ap->TimeStampOfPred,PREG->y_u.OtILl.d->ClCode);*/ #if defined(YAPOR) || defined(THREADS) if (!PP) { PELOCK(16,ap); @@ -8798,9 +8798,9 @@ Yap_absmi(int inp) BOp(user_switch, lp); { - yamop *new = Yap_udi_search(PREG->u.lp.p); + yamop *new = Yap_udi_search(PREG->y_u.lp.p); if (!new) { - PREG = PREG->u.lp.l; + PREG = PREG->y_u.lp.l; JMPNext(); } PREG = new; @@ -8817,21 +8817,21 @@ Yap_absmi(int inp) if (IsPairTerm(d0)) { /* pair */ SREG = RepPair(d0); - copy_jmp_address(PREG->u.llll.l1); - PREG = PREG->u.llll.l1; + copy_jmp_address(PREG->y_u.llll.l1); + PREG = PREG->y_u.llll.l1; JMPNext(); } else if (!IsApplTerm(d0)) { /* constant */ - copy_jmp_address(PREG->u.llll.l2); - PREG = PREG->u.llll.l2; + copy_jmp_address(PREG->y_u.llll.l2); + PREG = PREG->y_u.llll.l2; I_R = d0; JMPNext(); } else { /* appl */ - copy_jmp_address(PREG->u.llll.l3); - PREG = PREG->u.llll.l3; + copy_jmp_address(PREG->y_u.llll.l3); + PREG = PREG->y_u.llll.l3; SREG = RepAppl(d0); JMPNext(); } @@ -8839,8 +8839,8 @@ Yap_absmi(int inp) BEGP(pt0); deref_body(d0, pt0, swt_unk, swt_nvar); /* variable */ - copy_jmp_address(PREG->u.llll.l4); - PREG = PREG->u.llll.l4; + copy_jmp_address(PREG->y_u.llll.l4); + PREG = PREG->y_u.llll.l4; JMPNext(); ENDP(pt0); ENDD(d0); @@ -8854,7 +8854,7 @@ Yap_absmi(int inp) * */ BOp(switch_list_nl, ollll); - ALWAYS_LOOKAHEAD(PREG->u.ollll.pop); + ALWAYS_LOOKAHEAD(PREG->y_u.ollll.pop); BEGD(d0); d0 = CACHED_A1(); #if UNIQUE_TAG_FOR_PAIRS @@ -8868,8 +8868,8 @@ Yap_absmi(int inp) if (__builtin_expect(IsPairTerm(d0),1)) { /* pair */ #endif - copy_jmp_address(PREG->u.ollll.l1); - PREG = PREG->u.ollll.l1; + copy_jmp_address(PREG->y_u.ollll.l1); + PREG = PREG->y_u.ollll.l1; SREG = RepPair(d0); ALWAYS_GONext(); } @@ -8878,19 +8878,19 @@ Yap_absmi(int inp) #endif if (d0 == TermNil) { /* empty list */ - PREG = PREG->u.ollll.l2; + PREG = PREG->y_u.ollll.l2; JMPNext(); } else { /* appl or constant */ if (IsApplTerm(d0)) { - copy_jmp_address(PREG->u.ollll.l3); - PREG = PREG->u.ollll.l3; + copy_jmp_address(PREG->y_u.ollll.l3); + PREG = PREG->y_u.ollll.l3; SREG = RepAppl(d0); JMPNext(); } else { - copy_jmp_address(PREG->u.ollll.l3); - PREG = PREG->u.ollll.l3; + copy_jmp_address(PREG->y_u.ollll.l3); + PREG = PREG->y_u.ollll.l3; I_R = d0; JMPNext(); } @@ -8905,8 +8905,8 @@ Yap_absmi(int inp) #endif ENDP(pt0); /* variable */ - copy_jmp_address(PREG->u.ollll.l4); - PREG = PREG->u.ollll.l4; + copy_jmp_address(PREG->y_u.ollll.l4); + PREG = PREG->y_u.ollll.l4; JMPNext(); ENDD(d0); } @@ -8914,28 +8914,28 @@ Yap_absmi(int inp) BOp(switch_on_arg_type, xllll); BEGD(d0); - d0 = XREG(PREG->u.xllll.x); + d0 = XREG(PREG->y_u.xllll.x); deref_head(d0, arg_swt_unk); /* nonvar */ arg_swt_nvar: if (IsPairTerm(d0)) { /* pair */ - copy_jmp_address(PREG->u.xllll.l1); - PREG = PREG->u.xllll.l1; + copy_jmp_address(PREG->y_u.xllll.l1); + PREG = PREG->y_u.xllll.l1; SREG = RepPair(d0); JMPNext(); } else if (!IsApplTerm(d0)) { /* constant */ - copy_jmp_address(PREG->u.xllll.l2); - PREG = PREG->u.xllll.l2; + copy_jmp_address(PREG->y_u.xllll.l2); + PREG = PREG->y_u.xllll.l2; I_R = d0; JMPNext(); } else { /* appl */ - copy_jmp_address(PREG->u.xllll.l3); - PREG = PREG->u.xllll.l3; + copy_jmp_address(PREG->y_u.xllll.l3); + PREG = PREG->y_u.xllll.l3; SREG = RepAppl(d0); JMPNext(); } @@ -8943,8 +8943,8 @@ Yap_absmi(int inp) BEGP(pt0); deref_body(d0, pt0, arg_swt_unk, arg_swt_nvar); /* variable */ - copy_jmp_address(PREG->u.xllll.l4); - PREG = PREG->u.xllll.l4; + copy_jmp_address(PREG->y_u.xllll.l4); + PREG = PREG->y_u.xllll.l4; JMPNext(); ENDP(pt0); ENDD(d0); @@ -8952,28 +8952,28 @@ Yap_absmi(int inp) BOp(switch_on_sub_arg_type, sllll); BEGD(d0); - d0 = SREG[PREG->u.sllll.s]; + d0 = SREG[PREG->y_u.sllll.s]; deref_head(d0, sub_arg_swt_unk); /* nonvar */ sub_arg_swt_nvar: if (IsPairTerm(d0)) { /* pair */ - copy_jmp_address(PREG->u.sllll.l1); - PREG = PREG->u.sllll.l1; + copy_jmp_address(PREG->y_u.sllll.l1); + PREG = PREG->y_u.sllll.l1; SREG = RepPair(d0); JMPNext(); } else if (!IsApplTerm(d0)) { /* constant */ - copy_jmp_address(PREG->u.sllll.l2); - PREG = PREG->u.sllll.l2; + copy_jmp_address(PREG->y_u.sllll.l2); + PREG = PREG->y_u.sllll.l2; I_R = d0; JMPNext(); } else { /* appl */ - copy_jmp_address(PREG->u.sllll.l3); - PREG = PREG->u.sllll.l3; + copy_jmp_address(PREG->y_u.sllll.l3); + PREG = PREG->y_u.sllll.l3; SREG = RepAppl(d0); JMPNext(); } @@ -8981,8 +8981,8 @@ Yap_absmi(int inp) BEGP(pt0); deref_body(d0, pt0, sub_arg_swt_unk, sub_arg_swt_nvar); /* variable */ - copy_jmp_address(PREG->u.sllll.l4); - PREG = PREG->u.sllll.l4; + copy_jmp_address(PREG->y_u.sllll.l4); + PREG = PREG->y_u.sllll.l4; JMPNext(); ENDP(pt0); ENDD(d0); @@ -9000,8 +9000,8 @@ Yap_absmi(int inp) BEGP(pt0); deref_body(d0, pt0, jump_if_unk, jump0_if_nonvar); /* variable */ - copy_jmp_address(PREG->u.l.l); - PREG = PREG->u.l.l; + copy_jmp_address(PREG->y_u.l.l); + PREG = PREG->y_u.l.l; ENDP(pt0); JMPNext(); ENDD(d0); @@ -9009,12 +9009,12 @@ Yap_absmi(int inp) BOp(jump_if_nonvar, xll); BEGD(d0); - d0 = XREG(PREG->u.xll.x); + d0 = XREG(PREG->y_u.xll.x); deref_head(d0, jump2_if_unk); /* non var */ jump2_if_nonvar: - copy_jmp_address(PREG->u.xll.l1); - PREG = PREG->u.xll.l1; + copy_jmp_address(PREG->y_u.xll.l1); + PREG = PREG->y_u.xll.l1; JMPNext(); BEGP(pt0); @@ -9032,17 +9032,17 @@ Yap_absmi(int inp) deref_head(d0, if_n_unk); if_n_nvar: /* not variable */ - if (d0 == PREG->u.clll.c) { + if (d0 == PREG->y_u.clll.c) { /* equal to test value */ - copy_jmp_address(PREG->u.clll.l2); - PREG = PREG->u.clll.l2; + copy_jmp_address(PREG->y_u.clll.l2); + PREG = PREG->y_u.clll.l2; JMPNext(); } else { /* different from test value */ /* the case to optimise */ - copy_jmp_address(PREG->u.clll.l1); - PREG = PREG->u.clll.l1; + copy_jmp_address(PREG->y_u.clll.l1); + PREG = PREG->y_u.clll.l1; JMPNext(); } @@ -9050,8 +9050,8 @@ Yap_absmi(int inp) deref_body(d0, pt0, if_n_unk, if_n_nvar); ENDP(pt0); /* variable */ - copy_jmp_address(PREG->u.clll.l3); - PREG = PREG->u.clll.l3; + copy_jmp_address(PREG->y_u.clll.l3); + PREG = PREG->y_u.clll.l3; JMPNext(); ENDD(d0); ENDBOp(); @@ -9070,11 +9070,11 @@ Yap_absmi(int inp) { CELL /* first, calculate the mask */ - Mask = (PREG->u.sssl.s - 1) << 1, /* next, calculate the hash function */ + Mask = (PREG->y_u.sssl.s - 1) << 1, /* next, calculate the hash function */ hash = d1 >> (HASH_SHIFT - 1) & Mask; CELL *base; - base = (CELL *)PREG->u.sssl.l; + base = (CELL *)PREG->y_u.sssl.l; /* PREG now points at the beginning of the hash table */ BEGP(pt0); /* pt0 will always point at the item */ @@ -9117,11 +9117,11 @@ Yap_absmi(int inp) { CELL /* first, calculate the mask */ - Mask = (PREG->u.sssl.s - 1) << 1, /* next, calculate the hash function */ + Mask = (PREG->y_u.sssl.s - 1) << 1, /* next, calculate the hash function */ hash = d1 >> (HASH_SHIFT - 1) & Mask; CELL *base; - base = (CELL *)PREG->u.sssl.l; + base = (CELL *)PREG->y_u.sssl.l; /* PREG now points at the beginning of the hash table */ BEGP(pt0); /* pt0 will always point at the item */ @@ -9159,7 +9159,7 @@ Yap_absmi(int inp) BOp(go_on_func, sssl); BEGD(d0); { - CELL *pt = (CELL *)(PREG->u.sssl.l); + CELL *pt = (CELL *)(PREG->y_u.sssl.l); d0 = *SREG++; if (d0 == pt[0]) { @@ -9178,7 +9178,7 @@ Yap_absmi(int inp) BOp(go_on_cons, sssl); BEGD(d0); { - CELL *pt = (CELL *)(PREG->u.sssl.l); + CELL *pt = (CELL *)(PREG->y_u.sssl.l); d0 = I_R; if (d0 == pt[0]) { @@ -9197,7 +9197,7 @@ Yap_absmi(int inp) BOp(if_func, sssl); BEGD(d1); BEGP(pt0); - pt0 = (CELL *) PREG->u.sssl.l; + pt0 = (CELL *) PREG->y_u.sssl.l; d1 = *SREG++; while (pt0[0] != d1 && pt0[0] != (CELL)NULL ) { pt0 += 2; @@ -9212,7 +9212,7 @@ Yap_absmi(int inp) BOp(if_cons, sssl); BEGD(d1); BEGP(pt0); - pt0 = (CELL *) PREG->u.sssl.l; + pt0 = (CELL *) PREG->y_u.sssl.l; d1 = I_R; while (pt0[0] != d1 && pt0[0] != 0L ) { pt0 += 2; @@ -9251,12 +9251,12 @@ Yap_absmi(int inp) /* native_me */ BOp(native_me, aFlp); - if (PREG->u.aFlp.n) - EXEC_NATIVE(PREG->u.aFlp.n); + if (PREG->y_u.aFlp.n) + EXEC_NATIVE(PREG->y_u.aFlp.n); else { - PREG->u.aFlp.n++; - if (PREG->u.aFlp.n == MAX_INVOCATION) - PREG->u.aFlp.n = Yapc_Compile(PREG->u.aFlp.p); + PREG->y_u.aFlp.n++; + if (PREG->y_u.aFlp.n == MAX_INVOCATION) + PREG->y_u.aFlp.n = Yapc_Compile(PREG->y_u.aFlp.p); } PREG = NEXTOP(PREG, aFlp); @@ -9272,7 +9272,7 @@ Yap_absmi(int inp) Op(p_atom_x, xl); BEGD(d0); - d0 = XREG(PREG->u.xl.x); + d0 = XREG(PREG->y_u.xl.x); deref_head(d0, atom_x_unk); atom_x_nvar: if (IsAtomTerm(d0) && !IsBlob(AtomOfTerm(d0))) { @@ -9280,13 +9280,13 @@ Yap_absmi(int inp) GONext(); } else { - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); } BEGP(pt0); deref_body(d0, pt0, atom_x_unk, atom_x_nvar); - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); ENDP(pt0); ENDD(d0); @@ -9295,7 +9295,7 @@ Yap_absmi(int inp) Op(p_atom_y, yl); BEGD(d0); BEGP(pt0); - pt0 = YREG + PREG->u.yl.y; + pt0 = YREG + PREG->y_u.yl.y; d0 = *pt0; deref_head(d0, atom_y_unk); atom_y_nvar: @@ -9304,12 +9304,12 @@ Yap_absmi(int inp) GONext(); } else { - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); } derefa_body(d0, pt0, atom_y_unk, atom_y_nvar); - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); ENDP(pt0); ENDD(d0); @@ -9317,7 +9317,7 @@ Yap_absmi(int inp) Op(p_atomic_x, xl); BEGD(d0); - d0 = XREG(PREG->u.xl.x); + d0 = XREG(PREG->y_u.xl.x); deref_head(d0, atomic_x_unk); atomic_x_nvar: /* non variable */ @@ -9326,13 +9326,13 @@ Yap_absmi(int inp) GONext(); } else { - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); } BEGP(pt0); deref_body(d0, pt0, atomic_x_unk, atomic_x_nvar); - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); ENDP(pt0); ENDD(d0); @@ -9341,7 +9341,7 @@ Yap_absmi(int inp) Op(p_atomic_y, yl); BEGD(d0); BEGP(pt0); - pt0 = YREG + PREG->u.yl.y; + pt0 = YREG + PREG->y_u.yl.y; d0 = *pt0; deref_head(d0, atomic_y_unk); atomic_y_nvar: @@ -9351,12 +9351,12 @@ Yap_absmi(int inp) GONext(); } else { - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); } derefa_body(d0, pt0, atomic_y_unk, atomic_y_nvar); - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); ENDP(pt0); ENDD(d0); @@ -9364,7 +9364,7 @@ Yap_absmi(int inp) Op(p_integer_x, xl); BEGD(d0); - d0 = XREG(PREG->u.xl.x); + d0 = XREG(PREG->y_u.xl.x); deref_head(d0, integer_x_unk); integer_x_nvar: /* non variable */ @@ -9379,7 +9379,7 @@ Yap_absmi(int inp) case (CELL)FunctorBigInt: { CELL *pt = RepAppl(d0); if ( pt[1] != BIG_RATIONAL || pt[1] != BIG_INT ) { - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); } } @@ -9389,17 +9389,17 @@ Yap_absmi(int inp) GONext(); break; default: - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); } } } - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); BEGP(pt0); deref_body(d0, pt0, integer_x_unk, integer_x_nvar); - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); ENDP(pt0); ENDD(d0); @@ -9408,7 +9408,7 @@ Yap_absmi(int inp) Op(p_integer_y, yl); BEGD(d0); BEGP(pt0); - pt0 = YREG + PREG->u.yl.y; + pt0 = YREG + PREG->y_u.yl.y; d0 = *pt0; deref_head(d0, integer_y_unk); integer_y_nvar: @@ -9424,7 +9424,7 @@ Yap_absmi(int inp) case (CELL)FunctorBigInt: { CELL *pt = RepAppl(d0); if ( pt[1] != BIG_RATIONAL || pt[1] != BIG_INT ) { - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); } } @@ -9432,16 +9432,16 @@ Yap_absmi(int inp) PREG = NEXTOP(PREG, yl); GONext(); default: - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); } } } - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); derefa_body(d0, pt0, integer_y_unk, integer_y_nvar); - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); ENDP(pt0); ENDD(d0); @@ -9449,7 +9449,7 @@ Yap_absmi(int inp) Op(p_nonvar_x, xl); BEGD(d0); - d0 = XREG(PREG->u.xl.x); + d0 = XREG(PREG->y_u.xl.x); deref_head(d0, nonvar_x_unk); nonvar_x_nvar: PREG = NEXTOP(PREG, xl); @@ -9457,7 +9457,7 @@ Yap_absmi(int inp) BEGP(pt0); deref_body(d0, pt0, nonvar_x_unk, nonvar_x_nvar); - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); ENDP(pt0); ENDD(d0); @@ -9466,7 +9466,7 @@ Yap_absmi(int inp) Op(p_nonvar_y, yl); BEGD(d0); BEGP(pt0); - pt0 = YREG + PREG->u.yl.y; + pt0 = YREG + PREG->y_u.yl.y; d0 = *pt0; deref_head(d0, nonvar_y_unk); nonvar_y_nvar: @@ -9474,7 +9474,7 @@ Yap_absmi(int inp) GONext(); derefa_body(d0, pt0, nonvar_y_unk, nonvar_y_nvar); - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); ENDP(pt0); ENDD(d0); @@ -9482,7 +9482,7 @@ Yap_absmi(int inp) Op(p_number_x, xl); BEGD(d0); - d0 = XREG(PREG->u.xl.x); + d0 = XREG(PREG->y_u.xl.x); deref_head(d0, number_x_unk); number_x_nvar: /* non variable */ @@ -9497,7 +9497,7 @@ Yap_absmi(int inp) case (CELL)FunctorBigInt: { CELL *pt = RepAppl(d0); if ( pt[1] != BIG_RATIONAL || pt[1] != BIG_INT ) { - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); } } @@ -9507,17 +9507,17 @@ Yap_absmi(int inp) GONext(); break; default: - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); } } } - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); BEGP(pt0); deref_body(d0, pt0, number_x_unk, number_x_nvar); - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); ENDP(pt0); ENDD(d0); @@ -9526,7 +9526,7 @@ Yap_absmi(int inp) Op(p_number_y, yl); BEGD(d0); BEGP(pt0); - pt0 = YREG + PREG->u.yl.y; + pt0 = YREG + PREG->y_u.yl.y; d0 = *pt0; deref_head(d0, number_y_unk); number_y_nvar: @@ -9543,7 +9543,7 @@ Yap_absmi(int inp) case (CELL)FunctorBigInt: { CELL *pt = RepAppl(d0); if ( pt[1] != BIG_RATIONAL || pt[1] != BIG_INT ) { - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); } } @@ -9554,16 +9554,16 @@ Yap_absmi(int inp) GONext(); break; default: - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); } } } - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); derefa_body(d0, pt0, number_y_unk, number_y_nvar); - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); ENDP(pt0); ENDD(d0); @@ -9571,11 +9571,11 @@ Yap_absmi(int inp) Op(p_var_x, xl); BEGD(d0); - d0 = XREG(PREG->u.xl.x); + d0 = XREG(PREG->y_u.xl.x); deref_head(d0, var_x_unk); var_x_nvar: /* non variable */ - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); BEGP(pt0); @@ -9589,12 +9589,12 @@ Yap_absmi(int inp) Op(p_var_y, yl); BEGD(d0); BEGP(pt0); - pt0 = YREG + PREG->u.yl.y; + pt0 = YREG + PREG->y_u.yl.y; d0 = *pt0; deref_head(d0, var_y_unk); var_y_nvar: /* non variable */ - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); derefa_body(d0, pt0, var_y_unk, var_y_nvar); @@ -9606,7 +9606,7 @@ Yap_absmi(int inp) Op(p_db_ref_x, xl); BEGD(d0); - d0 = XREG(PREG->u.xl.x); + d0 = XREG(PREG->y_u.xl.x); deref_head(d0, dbref_x_unk); dbref_x_nvar: /* non variable */ @@ -9617,13 +9617,13 @@ Yap_absmi(int inp) GONext(); } else { - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); } BEGP(pt0); deref_body(d0, pt0, dbref_x_unk, dbref_x_nvar); - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); ENDP(pt0); ENDD(d0); @@ -9632,7 +9632,7 @@ Yap_absmi(int inp) Op(p_db_ref_y, yl); BEGD(d0); BEGP(pt0); - pt0 = YREG + PREG->u.yl.y; + pt0 = YREG + PREG->y_u.yl.y; d0 = *pt0; deref_head(d0, dbref_y_unk); dbref_y_nvar: @@ -9644,12 +9644,12 @@ Yap_absmi(int inp) GONext(); } else { - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); } derefa_body(d0, pt0, dbref_y_unk, dbref_y_nvar); - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); ENDP(pt0); ENDD(d0); @@ -9657,7 +9657,7 @@ Yap_absmi(int inp) Op(p_primitive_x, xl); BEGD(d0); - d0 = XREG(PREG->u.xl.x); + d0 = XREG(PREG->y_u.xl.x); deref_head(d0, primi_x_unk); primi_x_nvar: /* non variable */ @@ -9666,13 +9666,13 @@ Yap_absmi(int inp) GONext(); } else { - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); } BEGP(pt0); deref_body(d0, pt0, primi_x_unk, primi_x_nvar); - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); ENDP(pt0); ENDD(d0); @@ -9681,7 +9681,7 @@ Yap_absmi(int inp) Op(p_primitive_y, yl); BEGD(d0); BEGP(pt0); - pt0 = YREG + PREG->u.yl.y; + pt0 = YREG + PREG->y_u.yl.y; d0 = *pt0; deref_head(d0, primi_y_unk); primi_y_nvar: @@ -9691,12 +9691,12 @@ Yap_absmi(int inp) GONext(); } else { - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); } derefa_body(d0, pt0, primi_y_unk, primi_y_nvar); - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); ENDP(pt0); ENDD(d0); @@ -9704,7 +9704,7 @@ Yap_absmi(int inp) Op(p_compound_x, xl); BEGD(d0); - d0 = XREG(PREG->u.xl.x); + d0 = XREG(PREG->y_u.xl.x); deref_head(d0, compound_x_unk); compound_x_nvar: /* non variable */ @@ -9714,20 +9714,20 @@ Yap_absmi(int inp) } else if (IsApplTerm(d0)) { if (IsExtensionFunctor(FunctorOfTerm(d0))) { - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); } PREG = NEXTOP(PREG, xl); GONext(); } else { - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); } BEGP(pt0); deref_body(d0, pt0, compound_x_unk, compound_x_nvar); - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); ENDP(pt0); ENDD(d0); @@ -9736,7 +9736,7 @@ Yap_absmi(int inp) Op(p_compound_y, yl); BEGD(d0); BEGP(pt0); - pt0 = YREG + PREG->u.yl.y; + pt0 = YREG + PREG->y_u.yl.y; d0 = *pt0; deref_head(d0, compound_y_unk); compound_y_nvar: @@ -9747,19 +9747,19 @@ Yap_absmi(int inp) } else if (IsApplTerm(d0)) { if (IsExtensionFunctor(FunctorOfTerm(d0))) { - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); } PREG = NEXTOP(PREG, yl); GONext(); } else { - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); } derefa_body(d0, pt0, compound_y_unk, compound_y_nvar); - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); ENDP(pt0); ENDD(d0); @@ -9767,7 +9767,7 @@ Yap_absmi(int inp) Op(p_float_x, xl); BEGD(d0); - d0 = XREG(PREG->u.xl.x); + d0 = XREG(PREG->y_u.xl.x); deref_head(d0, float_x_unk); float_x_nvar: /* non variable */ @@ -9775,12 +9775,12 @@ Yap_absmi(int inp) PREG = NEXTOP(PREG, xl); GONext(); } - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); BEGP(pt0); deref_body(d0, pt0, float_x_unk, float_x_nvar); - PREG = PREG->u.xl.F; + PREG = PREG->y_u.xl.F; GONext(); ENDP(pt0); ENDD(d0); @@ -9789,7 +9789,7 @@ Yap_absmi(int inp) Op(p_float_y, yl); BEGD(d0); BEGP(pt0); - pt0 = YREG + PREG->u.yl.y; + pt0 = YREG + PREG->y_u.yl.y; d0 = *pt0; deref_head(d0, float_y_unk); float_y_nvar: @@ -9798,11 +9798,11 @@ Yap_absmi(int inp) PREG = NEXTOP(PREG, yl); GONext(); } - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); derefa_body(d0, pt0, float_y_unk, float_y_nvar); - PREG = PREG->u.yl.F; + PREG = PREG->y_u.yl.F; GONext(); ENDP(pt0); ENDD(d0); @@ -9811,11 +9811,11 @@ Yap_absmi(int inp) Op(p_plus_vv, xxx); BEGD(d0); BEGD(d1); - d0 = XREG(PREG->u.xxx.x1); + d0 = XREG(PREG->y_u.xxx.x1); /* first check pt1 */ deref_head(d0, plus_vv_unk); plus_vv_nvar: - d1 = XREG(PREG->u.xxx.x2); + d1 = XREG(PREG->y_u.xxx.x2); /* next check A2 */ deref_head(d1, plus_vv_nvar_unk); plus_vv_nvar_nvar: @@ -9834,7 +9834,7 @@ Yap_absmi(int inp) FAIL(); } } - XREG(PREG->u.xxx.x) = d0; + XREG(PREG->y_u.xxx.x) = d0; PREG = NEXTOP(PREG, xxx); GONext(); @@ -9859,12 +9859,12 @@ Yap_absmi(int inp) Op(p_plus_vc, xxn); BEGD(d0); - d0 = XREG(PREG->u.xxn.xi); + d0 = XREG(PREG->y_u.xxn.xi); /* first check pt1 */ deref_head(d0, plus_vc_unk); plus_vc_nvar: { - Int d1 = PREG->u.xxn.c; + Int d1 = PREG->y_u.xxn.c; if (IsIntTerm(d0)) { d0 = MkIntegerTerm(IntOfTerm(d0) + d1); } @@ -9880,14 +9880,14 @@ Yap_absmi(int inp) } } } - XREG(PREG->u.xxn.x) = d0; + XREG(PREG->y_u.xxn.x) = d0; PREG = NEXTOP(PREG, xxn); GONext(); BEGP(pt0); deref_body(d0, pt0, plus_vc_unk, plus_vc_nvar); saveregs(); - Yap_NilError(INSTANTIATION_ERROR, "X is A + " Int_FORMAT, PREG->u.xxn.c); + Yap_NilError(INSTANTIATION_ERROR, "X is A + " Int_FORMAT, PREG->y_u.xxn.c); setregs(); FAIL(); ENDP(pt0); @@ -9897,11 +9897,11 @@ Yap_absmi(int inp) Op(p_plus_y_vv, yxx); BEGD(d0); BEGD(d1); - d0 = XREG(PREG->u.yxx.x1); + d0 = XREG(PREG->y_u.yxx.x1); /* first check pt1 */ deref_head(d0, plus_y_vv_unk); plus_y_vv_nvar: - d1 = XREG(PREG->u.xxx.x2); + d1 = XREG(PREG->y_u.xxx.x2); /* next check A2 */ deref_head(d1, plus_y_vv_nvar_unk); plus_y_vv_nvar_nvar: @@ -9921,7 +9921,7 @@ Yap_absmi(int inp) } } BEGP(pt0); - pt0 = YREG + PREG->u.yxx.y; + pt0 = YREG + PREG->y_u.yxx.y; PREG = NEXTOP(PREG, yxx); INITIALIZE_PERMVAR(pt0,d0); ENDP(pt0); @@ -9948,12 +9948,12 @@ Yap_absmi(int inp) Op(p_plus_y_vc, yxn); BEGD(d0); - d0 = XREG(PREG->u.yxn.xi); + d0 = XREG(PREG->y_u.yxn.xi); /* first check pt1 */ deref_head(d0, plus_y_vc_unk); plus_y_vc_nvar: { - Int d1 = PREG->u.yxn.c; + Int d1 = PREG->y_u.yxn.c; if (IsIntTerm(d0)) { d0 = MkIntegerTerm(IntOfTerm(d0) + d1); } @@ -9970,7 +9970,7 @@ Yap_absmi(int inp) } } BEGP(pt0); - pt0 = YREG + PREG->u.yxn.y; + pt0 = YREG + PREG->y_u.yxn.y; PREG = NEXTOP(PREG, yxn); INITIALIZE_PERMVAR(pt0,d0); ENDP(pt0); @@ -9979,7 +9979,7 @@ Yap_absmi(int inp) BEGP(pt0); deref_body(d0, pt0, plus_y_vc_unk, plus_y_vc_nvar); saveregs(); - Yap_NilError(INSTANTIATION_ERROR, "X is A + " Int_FORMAT, PREG->u.yxn.c); + Yap_NilError(INSTANTIATION_ERROR, "X is A + " Int_FORMAT, PREG->y_u.yxn.c); setregs(); FAIL(); ENDP(pt0); @@ -9989,11 +9989,11 @@ Yap_absmi(int inp) Op(p_minus_vv, xxx); BEGD(d0); BEGD(d1); - d0 = XREG(PREG->u.xxx.x1); + d0 = XREG(PREG->y_u.xxx.x1); /* first check pt1 */ deref_head(d0, minus_vv_unk); minus_vv_nvar: - d1 = XREG(PREG->u.xxx.x2); + d1 = XREG(PREG->y_u.xxx.x2); /* next check A2 */ deref_head(d1, minus_vv_nvar_unk); minus_vv_nvar_nvar: @@ -10012,7 +10012,7 @@ Yap_absmi(int inp) FAIL(); } } - XREG(PREG->u.xxx.x) = d0; + XREG(PREG->y_u.xxx.x) = d0; PREG = NEXTOP(PREG, xxx); GONext(); @@ -10037,12 +10037,12 @@ Yap_absmi(int inp) Op(p_minus_cv, xxn); BEGD(d0); - d0 = XREG(PREG->u.xxn.xi); + d0 = XREG(PREG->y_u.xxn.xi); /* first check pt1 */ deref_head(d0, minus_cv_unk); minus_cv_nvar: { - Int d1 = PREG->u.xxn.c; + Int d1 = PREG->y_u.xxn.c; if (IsIntTerm(d0)) { d0 = MkIntegerTerm(d1 - IntOfTerm(d0)); } @@ -10058,14 +10058,14 @@ Yap_absmi(int inp) } } } - XREG(PREG->u.xxn.x) = d0; + XREG(PREG->y_u.xxn.x) = d0; PREG = NEXTOP(PREG, xxn); GONext(); BEGP(pt0); deref_body(d0, pt0, minus_cv_unk, minus_cv_nvar); saveregs(); - Yap_NilError(INSTANTIATION_ERROR, "X is " Int_FORMAT "-A", PREG->u.xxn.c); + Yap_NilError(INSTANTIATION_ERROR, "X is " Int_FORMAT "-A", PREG->y_u.xxn.c); setregs(); FAIL(); ENDP(pt0); @@ -10075,11 +10075,11 @@ Yap_absmi(int inp) Op(p_minus_y_vv, yxx); BEGD(d0); BEGD(d1); - d0 = XREG(PREG->u.yxx.x1); + d0 = XREG(PREG->y_u.yxx.x1); /* first check pt1 */ deref_head(d0, minus_y_vv_unk); minus_y_vv_nvar: - d1 = XREG(PREG->u.xxx.x2); + d1 = XREG(PREG->y_u.xxx.x2); /* next check A2 */ deref_head(d1, minus_y_vv_nvar_unk); minus_y_vv_nvar_nvar: @@ -10099,7 +10099,7 @@ Yap_absmi(int inp) } } BEGP(pt0); - pt0 = YREG + PREG->u.yxx.y; + pt0 = YREG + PREG->y_u.yxx.y; PREG = NEXTOP(PREG, yxx); INITIALIZE_PERMVAR(pt0,d0); ENDP(pt0); @@ -10126,12 +10126,12 @@ Yap_absmi(int inp) Op(p_minus_y_cv, yxn); BEGD(d0); - d0 = XREG(PREG->u.yxn.xi); + d0 = XREG(PREG->y_u.yxn.xi); /* first check pt1 */ deref_head(d0, minus_y_cv_unk); minus_y_cv_nvar: { - Int d1 = PREG->u.yxn.c; + Int d1 = PREG->y_u.yxn.c; if (IsIntTerm(d0)) { d0 = MkIntegerTerm(d1 - IntOfTerm(d0)); } @@ -10148,7 +10148,7 @@ Yap_absmi(int inp) } } BEGP(pt0); - pt0 = YREG + PREG->u.yxn.y; + pt0 = YREG + PREG->y_u.yxn.y; PREG = NEXTOP(PREG, yxn); INITIALIZE_PERMVAR(pt0,d0); ENDP(pt0); @@ -10157,7 +10157,7 @@ Yap_absmi(int inp) BEGP(pt0); deref_body(d0, pt0, minus_y_cv_unk, minus_y_cv_nvar); saveregs(); - Yap_NilError(INSTANTIATION_ERROR, "X is " Int_FORMAT "-A", PREG->u.yxn.c); + Yap_NilError(INSTANTIATION_ERROR, "X is " Int_FORMAT "-A", PREG->y_u.yxn.c); setregs(); FAIL(); ENDP(pt0); @@ -10167,11 +10167,11 @@ Yap_absmi(int inp) Op(p_times_vv, xxx); BEGD(d0); BEGD(d1); - d0 = XREG(PREG->u.xxx.x1); + d0 = XREG(PREG->y_u.xxx.x1); /* first check pt1 */ deref_head(d0, times_vv_unk); times_vv_nvar: - d1 = XREG(PREG->u.xxx.x2); + d1 = XREG(PREG->y_u.xxx.x2); /* next check A2 */ deref_head(d1, times_vv_nvar_unk); times_vv_nvar_nvar: @@ -10190,7 +10190,7 @@ Yap_absmi(int inp) FAIL(); } } - XREG(PREG->u.xxx.x) = d0; + XREG(PREG->y_u.xxx.x) = d0; PREG = NEXTOP(PREG, xxx); GONext(); @@ -10215,12 +10215,12 @@ Yap_absmi(int inp) Op(p_times_vc, xxn); BEGD(d0); - d0 = XREG(PREG->u.xxn.xi); + d0 = XREG(PREG->y_u.xxn.xi); /* first check pt1 */ deref_head(d0, times_vc_unk); times_vc_nvar: { - Int d1 = PREG->u.xxn.c; + Int d1 = PREG->y_u.xxn.c; if (IsIntTerm(d0)) { d0 = times_int(IntOfTerm(d0), d1 PASS_REGS); } @@ -10236,14 +10236,14 @@ Yap_absmi(int inp) } } } - XREG(PREG->u.xxn.x) = d0; + XREG(PREG->y_u.xxn.x) = d0; PREG = NEXTOP(PREG, xxn); GONext(); BEGP(pt0); deref_body(d0, pt0, times_vc_unk, times_vc_nvar); saveregs(); - Yap_NilError(INSTANTIATION_ERROR, "X is A* " Int_FORMAT, PREG->u.xxn.c); + Yap_NilError(INSTANTIATION_ERROR, "X is A* " Int_FORMAT, PREG->y_u.xxn.c); setregs(); FAIL(); ENDP(pt0); @@ -10253,11 +10253,11 @@ Yap_absmi(int inp) Op(p_times_y_vv, yxx); BEGD(d0); BEGD(d1); - d0 = XREG(PREG->u.yxx.x1); + d0 = XREG(PREG->y_u.yxx.x1); /* first check pt1 */ deref_head(d0, times_y_vv_unk); times_y_vv_nvar: - d1 = XREG(PREG->u.xxx.x2); + d1 = XREG(PREG->y_u.xxx.x2); /* next check A2 */ deref_head(d1, times_y_vv_nvar_unk); times_y_vv_nvar_nvar: @@ -10277,7 +10277,7 @@ Yap_absmi(int inp) } } BEGP(pt0); - pt0 = YREG + PREG->u.yxx.y; + pt0 = YREG + PREG->y_u.yxx.y; PREG = NEXTOP(PREG, yxx); INITIALIZE_PERMVAR(pt0,d0); ENDP(pt0); @@ -10304,12 +10304,12 @@ Yap_absmi(int inp) Op(p_times_y_vc, yxn); BEGD(d0); - d0 = XREG(PREG->u.yxn.xi); + d0 = XREG(PREG->y_u.yxn.xi); /* first check pt1 */ deref_head(d0, times_y_vc_unk); times_y_vc_nvar: { - Int d1 = PREG->u.yxn.c; + Int d1 = PREG->y_u.yxn.c; if (IsIntTerm(d0)) { d0 = times_int(IntOfTerm(d0), d1 PASS_REGS); } @@ -10326,7 +10326,7 @@ Yap_absmi(int inp) } } BEGP(pt0); - pt0 = YREG + PREG->u.yxn.y; + pt0 = YREG + PREG->y_u.yxn.y; PREG = NEXTOP(PREG, yxn); INITIALIZE_PERMVAR(pt0,d0); ENDP(pt0); @@ -10335,7 +10335,7 @@ Yap_absmi(int inp) BEGP(pt0); deref_body(d0, pt0, times_y_vc_unk, times_y_vc_nvar); saveregs(); - Yap_NilError(INSTANTIATION_ERROR, "X is A* " Int_FORMAT, PREG->u.yxn.c); + Yap_NilError(INSTANTIATION_ERROR, "X is A* " Int_FORMAT, PREG->y_u.yxn.c); setregs(); FAIL(); ENDP(pt0); @@ -10345,11 +10345,11 @@ Yap_absmi(int inp) Op(p_div_vv, xxx); BEGD(d0); BEGD(d1); - d0 = XREG(PREG->u.xxx.x1); + d0 = XREG(PREG->y_u.xxx.x1); /* first check pt1 */ deref_head(d0, div_vv_unk); div_vv_nvar: - d1 = XREG(PREG->u.xxx.x2); + d1 = XREG(PREG->y_u.xxx.x2); /* next check A2 */ deref_head(d1, div_vv_nvar_unk); div_vv_nvar_nvar: @@ -10375,7 +10375,7 @@ Yap_absmi(int inp) FAIL(); } } - XREG(PREG->u.xxx.x) = d0; + XREG(PREG->y_u.xxx.x) = d0; PREG = NEXTOP(PREG, xxx); GONext(); @@ -10400,12 +10400,12 @@ Yap_absmi(int inp) Op(p_div_vc, xxn); BEGD(d0); - d0 = XREG(PREG->u.xxn.xi); + d0 = XREG(PREG->y_u.xxn.xi); /* first check pt1 */ deref_head(d0, div_vc_unk); div_vc_nvar: { - Int d1 = PREG->u.xxn.c; + Int d1 = PREG->y_u.xxn.c; if (IsIntTerm(d0)) { d0 = MkIntTerm(IntOfTerm(d0) / d1); } @@ -10421,7 +10421,7 @@ Yap_absmi(int inp) } } } - XREG(PREG->u.xxn.x) = d0; + XREG(PREG->y_u.xxn.x) = d0; PREG = NEXTOP(PREG, xxn); GONext(); @@ -10437,12 +10437,12 @@ Yap_absmi(int inp) Op(p_div_cv, xxn); BEGD(d0); - d0 = XREG(PREG->u.xxn.xi); + d0 = XREG(PREG->y_u.xxn.xi); /* first check pt1 */ deref_head(d0, div_cv_unk); div_cv_nvar: { - Int d1 = PREG->u.xxn.c; + Int d1 = PREG->y_u.xxn.c; if (IsIntTerm(d0)) { Int div = IntOfTerm(d0); if (div == 0){ @@ -10464,14 +10464,14 @@ Yap_absmi(int inp) } } } - XREG(PREG->u.xxn.x) = d0; + XREG(PREG->y_u.xxn.x) = d0; PREG = NEXTOP(PREG, xxn); GONext(); BEGP(pt0); deref_body(d0, pt0, div_cv_unk, div_cv_nvar); saveregs(); - Yap_NilError(INSTANTIATION_ERROR, "X is " Int_FORMAT "// A", PREG->u.xxn.c); + Yap_NilError(INSTANTIATION_ERROR, "X is " Int_FORMAT "// A", PREG->y_u.xxn.c); setregs(); FAIL(); ENDP(pt0); @@ -10481,11 +10481,11 @@ Yap_absmi(int inp) Op(p_div_y_vv, yxx); BEGD(d0); BEGD(d1); - d0 = XREG(PREG->u.yxx.x1); + d0 = XREG(PREG->y_u.yxx.x1); /* first check pt1 */ deref_head(d0, div_y_vv_unk); div_y_vv_nvar: - d1 = XREG(PREG->u.xxx.x2); + d1 = XREG(PREG->y_u.xxx.x2); /* next check A2 */ deref_head(d1, div_y_vv_nvar_unk); div_y_vv_nvar_nvar: @@ -10512,7 +10512,7 @@ Yap_absmi(int inp) } } BEGP(pt0); - pt0 = YREG + PREG->u.yxx.y; + pt0 = YREG + PREG->y_u.yxx.y; PREG = NEXTOP(PREG, yxx); INITIALIZE_PERMVAR(pt0,d0); ENDP(pt0); @@ -10539,12 +10539,12 @@ Yap_absmi(int inp) Op(p_div_y_vc, yxn); BEGD(d0); - d0 = XREG(PREG->u.yxn.xi); + d0 = XREG(PREG->y_u.yxn.xi); /* first check pt1 */ deref_head(d0, div_y_vc_unk); div_y_vc_nvar: { - Int d1 = PREG->u.yxn.c; + Int d1 = PREG->y_u.yxn.c; if (IsIntTerm(d0)) { d0 = MkIntTerm(IntOfTerm(d0)/d1); } @@ -10561,7 +10561,7 @@ Yap_absmi(int inp) } } BEGP(pt0); - pt0 = YREG + PREG->u.yxn.y; + pt0 = YREG + PREG->y_u.yxn.y; PREG = NEXTOP(PREG, yxn); INITIALIZE_PERMVAR(pt0,d0); ENDP(pt0); @@ -10579,12 +10579,12 @@ Yap_absmi(int inp) Op(p_div_y_cv, yxn); BEGD(d0); - d0 = XREG(PREG->u.yxn.xi); + d0 = XREG(PREG->y_u.yxn.xi); /* first check pt1 */ deref_head(d0, div_y_cv_unk); div_y_cv_nvar: { - Int d1 = PREG->u.yxn.c; + Int d1 = PREG->y_u.yxn.c; if (IsIntTerm(d0)) { Int div = IntOfTerm(d0); if (div == 0) { @@ -10608,7 +10608,7 @@ Yap_absmi(int inp) } } BEGP(pt0); - pt0 = YREG + PREG->u.yxn.y; + pt0 = YREG + PREG->y_u.yxn.y; PREG = NEXTOP(PREG, yxn); INITIALIZE_PERMVAR(pt0,d0); ENDP(pt0); @@ -10617,7 +10617,7 @@ Yap_absmi(int inp) BEGP(pt0); deref_body(d0, pt0, div_y_cv_unk, div_y_cv_nvar); saveregs(); - Yap_NilError(INSTANTIATION_ERROR, "X is " Int_FORMAT "// A", PREG->u.yxn.c); + Yap_NilError(INSTANTIATION_ERROR, "X is " Int_FORMAT "// A", PREG->y_u.yxn.c); setregs(); FAIL(); ENDP(pt0); @@ -10628,11 +10628,11 @@ Yap_absmi(int inp) Op(p_and_vv, xxx); BEGD(d0); BEGD(d1); - d0 = XREG(PREG->u.xxx.x1); + d0 = XREG(PREG->y_u.xxx.x1); /* first check pt1 */ deref_head(d0, and_vv_unk); and_vv_nvar: - d1 = XREG(PREG->u.xxx.x2); + d1 = XREG(PREG->y_u.xxx.x2); /* next check A2 */ deref_head(d1, and_vv_nvar_unk); and_vv_nvar_nvar: @@ -10651,7 +10651,7 @@ Yap_absmi(int inp) FAIL(); } } - XREG(PREG->u.xxx.x) = d0; + XREG(PREG->y_u.xxx.x) = d0; PREG = NEXTOP(PREG, xxx); GONext(); @@ -10676,12 +10676,12 @@ Yap_absmi(int inp) Op(p_and_vc, xxn); BEGD(d0); - d0 = XREG(PREG->u.xxn.xi); + d0 = XREG(PREG->y_u.xxn.xi); /* first check pt1 */ deref_head(d0, and_vc_unk); and_vc_nvar: { - Int d1 = PREG->u.xxn.c; + Int d1 = PREG->y_u.xxn.c; if (IsIntTerm(d0)) { d0 = MkIntegerTerm(IntOfTerm(d0) & d1); } @@ -10697,14 +10697,14 @@ Yap_absmi(int inp) } } } - XREG(PREG->u.xxn.x) = d0; + XREG(PREG->y_u.xxn.x) = d0; PREG = NEXTOP(PREG, xxn); GONext(); BEGP(pt0); deref_body(d0, pt0, and_vc_unk, and_vc_nvar); saveregs(); - Yap_NilError(INSTANTIATION_ERROR, "X is A /\\ " Int_FORMAT , PREG->u.xxn.c); + Yap_NilError(INSTANTIATION_ERROR, "X is A /\\ " Int_FORMAT , PREG->y_u.xxn.c); setregs(); FAIL(); ENDP(pt0); @@ -10714,11 +10714,11 @@ Yap_absmi(int inp) Op(p_and_y_vv, yxx); BEGD(d0); BEGD(d1); - d0 = XREG(PREG->u.yxx.x1); + d0 = XREG(PREG->y_u.yxx.x1); /* first check pt1 */ deref_head(d0, and_y_vv_unk); and_y_vv_nvar: - d1 = XREG(PREG->u.xxx.x2); + d1 = XREG(PREG->y_u.xxx.x2); /* next check A2 */ deref_head(d1, and_y_vv_nvar_unk); and_y_vv_nvar_nvar: @@ -10738,7 +10738,7 @@ Yap_absmi(int inp) } } BEGP(pt0); - pt0 = YREG + PREG->u.yxx.y; + pt0 = YREG + PREG->y_u.yxx.y; PREG = NEXTOP(PREG, yxx); INITIALIZE_PERMVAR(pt0,d0); ENDP(pt0); @@ -10765,12 +10765,12 @@ Yap_absmi(int inp) Op(p_and_y_vc, yxn); BEGD(d0); - d0 = XREG(PREG->u.yxn.xi); + d0 = XREG(PREG->y_u.yxn.xi); /* first check pt1 */ deref_head(d0, and_y_vc_unk); and_y_vc_nvar: { - Int d1 = PREG->u.yxn.c; + Int d1 = PREG->y_u.yxn.c; if (IsIntTerm(d0)) { d0 = MkIntegerTerm(IntOfTerm(d0) & d1); } @@ -10787,7 +10787,7 @@ Yap_absmi(int inp) } } BEGP(pt0); - pt0 = YREG + PREG->u.yxn.y; + pt0 = YREG + PREG->y_u.yxn.y; PREG = NEXTOP(PREG, yxn); INITIALIZE_PERMVAR(pt0,d0); ENDP(pt0); @@ -10796,7 +10796,7 @@ Yap_absmi(int inp) BEGP(pt0); deref_body(d0, pt0, and_y_vc_unk, and_y_vc_nvar); saveregs(); - Yap_NilError(INSTANTIATION_ERROR, "X is A /\\ " Int_FORMAT , PREG->u.yxn.c); + Yap_NilError(INSTANTIATION_ERROR, "X is A /\\ " Int_FORMAT , PREG->y_u.yxn.c); setregs(); FAIL(); ENDP(pt0); @@ -10807,11 +10807,11 @@ Yap_absmi(int inp) Op(p_or_vv, xxx); BEGD(d0); BEGD(d1); - d0 = XREG(PREG->u.xxx.x1); + d0 = XREG(PREG->y_u.xxx.x1); /* first check pt1 */ deref_head(d0, or_vv_unk); or_vv_nvar: - d1 = XREG(PREG->u.xxx.x2); + d1 = XREG(PREG->y_u.xxx.x2); /* next check A2 */ deref_head(d1, or_vv_nvar_unk); or_vv_nvar_nvar: @@ -10830,7 +10830,7 @@ Yap_absmi(int inp) FAIL(); } } - XREG(PREG->u.xxx.x) = d0; + XREG(PREG->y_u.xxx.x) = d0; PREG = NEXTOP(PREG, xxx); GONext(); @@ -10855,12 +10855,12 @@ Yap_absmi(int inp) Op(p_or_vc, xxn); BEGD(d0); - d0 = XREG(PREG->u.xxn.xi); + d0 = XREG(PREG->y_u.xxn.xi); /* first check pt1 */ deref_head(d0, or_vc_unk); or_vc_nvar: { - Int d1 = PREG->u.xxn.c; + Int d1 = PREG->y_u.xxn.c; if (IsIntTerm(d0)) { d0 = MkIntegerTerm(IntOfTerm(d0) | d1); } @@ -10875,14 +10875,14 @@ Yap_absmi(int inp) } } } - XREG(PREG->u.xxn.x) = d0; + XREG(PREG->y_u.xxn.x) = d0; PREG = NEXTOP(PREG, xxn); GONext(); BEGP(pt0); deref_body(d0, pt0, or_vc_unk, or_vc_nvar); saveregs(); - Yap_NilError(INSTANTIATION_ERROR, "X is A \\/ " Int_FORMAT , PREG->u.xxn.c); + Yap_NilError(INSTANTIATION_ERROR, "X is A \\/ " Int_FORMAT , PREG->y_u.xxn.c); setregs(); FAIL(); ENDP(pt0); @@ -10892,11 +10892,11 @@ Yap_absmi(int inp) Op(p_or_y_vv, yxx); BEGD(d0); BEGD(d1); - d0 = XREG(PREG->u.yxx.x1); + d0 = XREG(PREG->y_u.yxx.x1); /* first check pt1 */ deref_head(d0, or_y_vv_unk); or_y_vv_nvar: - d1 = XREG(PREG->u.xxx.x2); + d1 = XREG(PREG->y_u.xxx.x2); /* next check A2 */ deref_head(d1, or_y_vv_nvar_unk); or_y_vv_nvar_nvar: @@ -10916,7 +10916,7 @@ Yap_absmi(int inp) } } BEGP(pt0); - pt0 = YREG + PREG->u.yxx.y; + pt0 = YREG + PREG->y_u.yxx.y; PREG = NEXTOP(PREG, yxx); INITIALIZE_PERMVAR(pt0,d0); ENDP(pt0); @@ -10943,12 +10943,12 @@ Yap_absmi(int inp) Op(p_or_y_vc, yxn); BEGD(d0); - d0 = XREG(PREG->u.yxn.xi); + d0 = XREG(PREG->y_u.yxn.xi); /* first check pt1 */ deref_head(d0, or_y_vc_unk); or_y_vc_nvar: { - Int d1 = PREG->u.yxn.c; + Int d1 = PREG->y_u.yxn.c; if (IsIntTerm(d0)) { d0 = MkIntegerTerm(IntOfTerm(d0) | d1); } @@ -10965,7 +10965,7 @@ Yap_absmi(int inp) } } BEGP(pt0); - pt0 = YREG + PREG->u.yxn.y; + pt0 = YREG + PREG->y_u.yxn.y; PREG = NEXTOP(PREG, yxn); INITIALIZE_PERMVAR(pt0,d0); ENDP(pt0); @@ -10974,7 +10974,7 @@ Yap_absmi(int inp) BEGP(pt0); deref_body(d0, pt0, or_y_vc_unk, or_y_vc_nvar); saveregs(); - Yap_NilError(INSTANTIATION_ERROR, "X is A \\/ " Int_FORMAT , PREG->u.yxn.c); + Yap_NilError(INSTANTIATION_ERROR, "X is A \\/ " Int_FORMAT , PREG->y_u.yxn.c); setregs(); FAIL(); ENDP(pt0); @@ -10984,11 +10984,11 @@ Yap_absmi(int inp) Op(p_sll_vv, xxx); BEGD(d0); BEGD(d1); - d0 = XREG(PREG->u.xxx.x1); + d0 = XREG(PREG->y_u.xxx.x1); /* first check pt1 */ deref_head(d0, sll_vv_unk); sll_vv_nvar: - d1 = XREG(PREG->u.xxx.x2); + d1 = XREG(PREG->y_u.xxx.x2); /* next check A2 */ deref_head(d1, sll_vv_nvar_unk); sll_vv_nvar_nvar: @@ -11011,7 +11011,7 @@ Yap_absmi(int inp) setregs(); FAIL(); } - XREG(PREG->u.xxx.x) = d0; + XREG(PREG->y_u.xxx.x) = d0; PREG = NEXTOP(PREG, xxx); GONext(); @@ -11036,12 +11036,12 @@ Yap_absmi(int inp) Op(p_sll_vc, xxn); BEGD(d0); - d0 = XREG(PREG->u.xxn.xi); + d0 = XREG(PREG->y_u.xxn.xi); /* first check pt1 */ deref_head(d0, sll_vc_unk); sll_vc_nvar: { - Int d1 = PREG->u.xxn.c; + Int d1 = PREG->y_u.xxn.c; if (IsIntTerm(d0)) { d0 = do_sll(IntOfTerm(d0), (Int)d1 PASS_REGS); } @@ -11057,7 +11057,7 @@ Yap_absmi(int inp) setregs(); FAIL(); } - XREG(PREG->u.xxn.x) = d0; + XREG(PREG->y_u.xxn.x) = d0; PREG = NEXTOP(PREG, xxn); GONext(); @@ -11073,12 +11073,12 @@ Yap_absmi(int inp) Op(p_sll_cv, xxn); BEGD(d0); - d0 = XREG(PREG->u.xxn.xi); + d0 = XREG(PREG->y_u.xxn.xi); /* first check pt1 */ deref_head(d0, sll_cv_unk); sll_cv_nvar: { - Int d1 = PREG->u.xxn.c; + Int d1 = PREG->y_u.xxn.c; if (IsIntTerm(d0)) { Int i2 = IntOfTerm(d0); if (i2 < 0) @@ -11098,7 +11098,7 @@ Yap_absmi(int inp) setregs(); FAIL(); } - XREG(PREG->u.xxn.x) = d0; + XREG(PREG->y_u.xxn.x) = d0; PREG = NEXTOP(PREG, xxn); GONext(); @@ -11115,11 +11115,11 @@ Yap_absmi(int inp) Op(p_sll_y_vv, yxx); BEGD(d0); BEGD(d1); - d0 = XREG(PREG->u.yxx.x1); + d0 = XREG(PREG->y_u.yxx.x1); /* first check pt1 */ deref_head(d0, sll_y_vv_unk); sll_y_vv_nvar: - d1 = XREG(PREG->u.xxx.x2); + d1 = XREG(PREG->y_u.xxx.x2); /* next check A2 */ deref_head(d1, sll_y_vv_nvar_unk); sll_y_vv_nvar_nvar: @@ -11143,7 +11143,7 @@ Yap_absmi(int inp) FAIL(); } BEGP(pt0); - pt0 = YREG + PREG->u.yxx.y; + pt0 = YREG + PREG->y_u.yxx.y; PREG = NEXTOP(PREG, yxx); INITIALIZE_PERMVAR(pt0,d0); ENDP(pt0); @@ -11170,12 +11170,12 @@ Yap_absmi(int inp) Op(p_sll_y_vc, yxn); BEGD(d0); - d0 = XREG(PREG->u.yxn.xi); + d0 = XREG(PREG->y_u.yxn.xi); /* first check pt1 */ deref_head(d0, sll_y_vc_unk); sll_y_vc_nvar: { - Int d1 = PREG->u.yxn.c; + Int d1 = PREG->y_u.yxn.c; if (IsIntTerm(d0)) { d0 = do_sll(IntOfTerm(d0), Yap_Eval(d1) PASS_REGS); } @@ -11192,7 +11192,7 @@ Yap_absmi(int inp) FAIL(); } BEGP(pt0); - pt0 = YREG + PREG->u.yxn.y; + pt0 = YREG + PREG->y_u.yxn.y; PREG = NEXTOP(PREG, yxn); INITIALIZE_PERMVAR(pt0,d0); ENDP(pt0); @@ -11211,12 +11211,12 @@ Yap_absmi(int inp) Op(p_sll_y_cv, yxn); BEGD(d0); - d0 = XREG(PREG->u.yxn.xi); + d0 = XREG(PREG->y_u.yxn.xi); /* first check pt1 */ deref_head(d0, sll_y_cv_unk); sll_y_cv_nvar: { - Int d1 = PREG->u.yxn.c; + Int d1 = PREG->y_u.yxn.c; if (IsIntTerm(d0)) { Int i2 = IntOfTerm(d0); if (i2 < 0) @@ -11237,7 +11237,7 @@ Yap_absmi(int inp) FAIL(); } BEGP(pt0); - pt0 = YREG + PREG->u.yxn.y; + pt0 = YREG + PREG->y_u.yxn.y; PREG = NEXTOP(PREG, yxn); INITIALIZE_PERMVAR(pt0,d0); ENDP(pt0); @@ -11256,11 +11256,11 @@ Yap_absmi(int inp) Op(p_slr_vv, xxx); BEGD(d0); BEGD(d1); - d0 = XREG(PREG->u.xxx.x1); + d0 = XREG(PREG->y_u.xxx.x1); /* first check pt1 */ deref_head(d0, slr_vv_unk); slr_vv_nvar: - d1 = XREG(PREG->u.xxx.x2); + d1 = XREG(PREG->y_u.xxx.x2); /* next check A2 */ deref_head(d1, slr_vv_nvar_unk); slr_vv_nvar_nvar: @@ -11283,7 +11283,7 @@ Yap_absmi(int inp) setregs(); FAIL(); } - XREG(PREG->u.xxx.x) = d0; + XREG(PREG->y_u.xxx.x) = d0; PREG = NEXTOP(PREG, xxx); GONext(); @@ -11308,12 +11308,12 @@ Yap_absmi(int inp) Op(p_slr_vc, xxn); BEGD(d0); - d0 = XREG(PREG->u.xxn.xi); + d0 = XREG(PREG->y_u.xxn.xi); /* first check pt1 */ deref_head(d0, slr_vc_unk); slr_vc_nvar: { - Int d1 = PREG->u.xxn.c; + Int d1 = PREG->y_u.xxn.c; if (IsIntTerm(d0)) { d0 = MkIntTerm(SLR(IntOfTerm(d0), d1)); } @@ -11329,7 +11329,7 @@ Yap_absmi(int inp) } } } - XREG(PREG->u.xxn.x) = d0; + XREG(PREG->y_u.xxn.x) = d0; PREG = NEXTOP(PREG, xxn); GONext(); @@ -11345,12 +11345,12 @@ Yap_absmi(int inp) Op(p_slr_cv, xxn); BEGD(d0); - d0 = XREG(PREG->u.xxn.xi); + d0 = XREG(PREG->y_u.xxn.xi); /* first check pt1 */ deref_head(d0, slr_cv_unk); slr_cv_nvar: { - Int d1 = PREG->u.xxn.c; + Int d1 = PREG->y_u.xxn.c; if (IsIntTerm(d0)) { Int i2 = IntOfTerm(d0); if (i2 < 0) @@ -11370,7 +11370,7 @@ Yap_absmi(int inp) setregs(); FAIL(); } - XREG(PREG->u.xxn.x) = d0; + XREG(PREG->y_u.xxn.x) = d0; PREG = NEXTOP(PREG, xxn); GONext(); @@ -11387,11 +11387,11 @@ Yap_absmi(int inp) Op(p_slr_y_vv, yxx); BEGD(d0); BEGD(d1); - d0 = XREG(PREG->u.yxx.x1); + d0 = XREG(PREG->y_u.yxx.x1); /* first check pt1 */ deref_head(d0, slr_y_vv_unk); slr_y_vv_nvar: - d1 = XREG(PREG->u.xxx.x2); + d1 = XREG(PREG->y_u.xxx.x2); /* next check A2 */ deref_head(d1, slr_y_vv_nvar_unk); slr_y_vv_nvar_nvar: @@ -11415,7 +11415,7 @@ Yap_absmi(int inp) setregs(); FAIL(); } - pt0 = YREG + PREG->u.yxx.y; + pt0 = YREG + PREG->y_u.yxx.y; PREG = NEXTOP(PREG, yxx); INITIALIZE_PERMVAR(pt0,d0); ENDP(pt0); @@ -11442,12 +11442,12 @@ Yap_absmi(int inp) Op(p_slr_y_vc, yxn); BEGD(d0); - d0 = XREG(PREG->u.yxn.xi); + d0 = XREG(PREG->y_u.yxn.xi); /* first check pt1 */ deref_head(d0, slr_y_vc_unk); slr_y_vc_nvar: { - Int d1 = PREG->u.yxn.c; + Int d1 = PREG->y_u.yxn.c; if (IsIntTerm(d0)) { d0 = MkIntTerm(SLR(IntOfTerm(d0), d1)); } @@ -11464,7 +11464,7 @@ Yap_absmi(int inp) } } BEGP(pt0); - pt0 = YREG + PREG->u.yxn.y; + pt0 = YREG + PREG->y_u.yxn.y; PREG = NEXTOP(PREG, yxn); INITIALIZE_PERMVAR(pt0,d0); ENDP(pt0); @@ -11481,12 +11481,12 @@ Yap_absmi(int inp) Op(p_slr_y_cv, yxn); BEGD(d0); - d0 = XREG(PREG->u.yxn.xi); + d0 = XREG(PREG->y_u.yxn.xi); /* first check pt1 */ deref_head(d0, slr_y_cv_unk); slr_y_cv_nvar: { - Int d1 = PREG->u.yxn.c; + Int d1 = PREG->y_u.yxn.c; if (IsIntTerm(d0)) { Int i2 = IntOfTerm(d0); if (i2 < 0) @@ -11507,7 +11507,7 @@ Yap_absmi(int inp) FAIL(); } BEGP(pt0); - pt0 = YREG + PREG->u.yxn.y; + pt0 = YREG + PREG->y_u.yxn.y; PREG = NEXTOP(PREG, yxn); INITIALIZE_PERMVAR(pt0,d0); ENDP(pt0); @@ -11526,9 +11526,9 @@ Yap_absmi(int inp) BOp(call_bfunc_xx, plxxs); BEGD(d0); BEGD(d1); - d0 = XREG(PREG->u.plxxs.x1); + d0 = XREG(PREG->y_u.plxxs.x1); call_bfunc_xx_nvar: - d1 = XREG(PREG->u.plxxs.x2); + d1 = XREG(PREG->y_u.plxxs.x2); call_bfunc_xx2_nvar: deref_head(d0, call_bfunc_xx_unk); deref_head(d1, call_bfunc_xx2_unk); @@ -11536,7 +11536,7 @@ Yap_absmi(int inp) COUNT flags; Int v = IntOfTerm(d0) - IntOfTerm(d1); - flags = PREG->u.plxxs.flags; + flags = PREG->y_u.plxxs.flags; if (v > 0) { if (flags & GT_OK_IN_CMP) { yamop *nextp = NEXTOP(PREG, plxxs); @@ -11545,7 +11545,7 @@ Yap_absmi(int inp) ALWAYS_GONext(); ALWAYS_END_PREFETCH(); } else { - yamop *nextp = PREG->u.plxxs.f; + yamop *nextp = PREG->y_u.plxxs.f; ALWAYS_LOOKAHEAD(nextp->opc); PREG = nextp; ALWAYS_GONext(); @@ -11559,7 +11559,7 @@ Yap_absmi(int inp) ALWAYS_GONext(); ALWAYS_END_PREFETCH(); } else { - yamop *nextp = PREG->u.plxxs.f; + yamop *nextp = PREG->y_u.plxxs.f; ALWAYS_LOOKAHEAD(nextp->opc); PREG = nextp; ALWAYS_GONext(); @@ -11573,7 +11573,7 @@ Yap_absmi(int inp) ALWAYS_GONext(); ALWAYS_END_PREFETCH(); } else { - yamop *nextp = PREG->u.plxxs.f; + yamop *nextp = PREG->y_u.plxxs.f; ALWAYS_LOOKAHEAD(nextp->opc); PREG = nextp; ALWAYS_GONext(); @@ -11583,7 +11583,7 @@ Yap_absmi(int inp) } exec_bin_cmp_xx: { - CmpPredicate f = PREG->u.plxxs.p->cs.d_code; + CmpPredicate f = PREG->y_u.plxxs.p->cs.d_code; saveregs(); d0 = (CELL) (f) (d0,d1); setregs(); @@ -11592,7 +11592,7 @@ Yap_absmi(int inp) JMPNext(); } if (!d0) { - PREG = PREG->u.plxxs.f; + PREG = PREG->y_u.plxxs.f; JMPNext(); } PREG = NEXTOP(PREG, plxxs); @@ -11617,8 +11617,8 @@ Yap_absmi(int inp) BEGD(d0); BEGD(d1); BEGP(pt0); - pt0 = YREG + PREG->u.plxys.y; - d1 = XREG(PREG->u.plxys.x); + pt0 = YREG + PREG->y_u.plxys.y; + d1 = XREG(PREG->y_u.plxys.x); d0 = *pt0; ENDP(pt0); deref_head(d0, call_bfunc_yx_unk); @@ -11629,13 +11629,13 @@ Yap_absmi(int inp) int flags; Int v = IntOfTerm(d0) - IntOfTerm(d1); - flags = PREG->u.plxys.flags; + flags = PREG->y_u.plxys.flags; if (v > 0) { if (flags & GT_OK_IN_CMP) { PREG = NEXTOP(PREG, plxys); JMPNext(); } else { - PREG = PREG->u.plxys.f; + PREG = PREG->y_u.plxys.f; JMPNext(); } } else if (v < 0) { @@ -11643,7 +11643,7 @@ Yap_absmi(int inp) PREG = NEXTOP(PREG, plxys); JMPNext(); } else { - PREG = PREG->u.plxys.f; + PREG = PREG->y_u.plxys.f; JMPNext(); } } else /* if (v == 0) */ { @@ -11651,21 +11651,21 @@ Yap_absmi(int inp) PREG = NEXTOP(PREG, plxys); JMPNext(); } else { - PREG = PREG->u.plxys.f; + PREG = PREG->y_u.plxys.f; JMPNext(); } } } exec_bin_cmp_yx: { - CmpPredicate f = PREG->u.plxys.p->cs.d_code; + CmpPredicate f = PREG->y_u.plxys.p->cs.d_code; saveregs(); d0 = (CELL) (f) (d0,d1); setregs(); } if (!d0 || PREG == FAILCODE) { if (PREG != FAILCODE) - PREG = PREG->u.plxys.f; + PREG = PREG->y_u.plxys.f; JMPNext(); } PREG = NEXTOP(PREG, plxys); @@ -11690,8 +11690,8 @@ Yap_absmi(int inp) BEGD(d0); BEGD(d1); BEGP(pt0); - pt0 = YREG + PREG->u.plxys.y; - d0 = XREG(PREG->u.plxys.x); + pt0 = YREG + PREG->y_u.plxys.y; + d0 = XREG(PREG->y_u.plxys.x); d1 = *pt0; ENDP(pt0); deref_head(d0, call_bfunc_xy_unk); @@ -11702,13 +11702,13 @@ Yap_absmi(int inp) int flags; Int v = IntOfTerm(d0) - IntOfTerm(d1); - flags = PREG->u.plxys.flags; + flags = PREG->y_u.plxys.flags; if (v > 0) { if (flags & GT_OK_IN_CMP) { PREG = NEXTOP(PREG, plxys); JMPNext(); } else { - PREG = PREG->u.plxys.f; + PREG = PREG->y_u.plxys.f; JMPNext(); } } else if (v < 0) { @@ -11716,7 +11716,7 @@ Yap_absmi(int inp) PREG = NEXTOP(PREG, plxys); JMPNext(); } else { - PREG = PREG->u.plxys.f; + PREG = PREG->y_u.plxys.f; JMPNext(); } } else /* if (v == 0) */ { @@ -11724,21 +11724,21 @@ Yap_absmi(int inp) PREG = NEXTOP(PREG, plxys); JMPNext(); } else { - PREG = PREG->u.plxys.f; + PREG = PREG->y_u.plxys.f; JMPNext(); } } } exec_bin_cmp_xy: { - CmpPredicate f = PREG->u.plxys.p->cs.d_code; + CmpPredicate f = PREG->y_u.plxys.p->cs.d_code; saveregs(); d0 = (CELL) (f) (d0,d1); setregs(); } if (!d0 || PREG == FAILCODE) { if (PREG != FAILCODE) - PREG = PREG->u.plxys.f; + PREG = PREG->y_u.plxys.f; JMPNext(); } PREG = NEXTOP(PREG, plxys); @@ -11763,9 +11763,9 @@ Yap_absmi(int inp) BEGD(d0); BEGD(d1); BEGP(pt0); - pt0 = YREG + PREG->u.plyys.y1; + pt0 = YREG + PREG->y_u.plyys.y1; BEGP(pt1); - pt1 = YREG + PREG->u.plyys.y2; + pt1 = YREG + PREG->y_u.plyys.y2; d0 = *pt0; d1 = *pt1; ENDP(pt1); @@ -11778,13 +11778,13 @@ Yap_absmi(int inp) int flags; Int v = IntOfTerm(d0) - IntOfTerm(d1); - flags = PREG->u.plyys.flags; + flags = PREG->y_u.plyys.flags; if (v > 0) { if (flags & GT_OK_IN_CMP) { PREG = NEXTOP(PREG, plyys); JMPNext(); } else { - PREG = PREG->u.plyys.f; + PREG = PREG->y_u.plyys.f; JMPNext(); } } else if (v < 0) { @@ -11792,7 +11792,7 @@ Yap_absmi(int inp) PREG = NEXTOP(PREG, plyys); JMPNext(); } else { - PREG = PREG->u.plyys.f; + PREG = PREG->y_u.plyys.f; JMPNext(); } } else /* if (v == 0) */ { @@ -11800,21 +11800,21 @@ Yap_absmi(int inp) PREG = NEXTOP(PREG, plyys); JMPNext(); } else { - PREG = PREG->u.plyys.f; + PREG = PREG->y_u.plyys.f; JMPNext(); } } } exec_bin_cmp_yy: { - CmpPredicate f = PREG->u.plyys.p->cs.d_code; + CmpPredicate f = PREG->y_u.plyys.p->cs.d_code; saveregs(); d0 = (CELL) (f) (d0,d1); setregs(); } if (!d0 || PREG == FAILCODE) { if (PREG != FAILCODE) - PREG = PREG->u.plyys.f; + PREG = PREG->y_u.plyys.f; JMPNext(); } PREG = NEXTOP(PREG, plyys); @@ -11860,7 +11860,7 @@ Yap_absmi(int inp) dif_nvar1_nvar2: /* both arguments are bound */ if (d0 == d1) { - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); } if (IsAtomOrIntTerm(d0) || IsAtomOrIntTerm(d1)) { @@ -11942,7 +11942,7 @@ Yap_absmi(int inp) } if (opresult) { /* restore B, no need to restore HB */ - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); } /* restore B, and later HB */ @@ -11955,14 +11955,14 @@ Yap_absmi(int inp) deref_body(d0, pt0, dif_unk1, dif_nvar1); ENDP(pt0); /* first argument is unbound */ - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); BEGP(pt0); deref_body(d1, pt0, dif_nvar1_unk2, dif_nvar1_nvar2); ENDP(pt0); /* second argument is unbound */ - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); ENDD(d1); ENDD(d0); @@ -11989,14 +11989,14 @@ Yap_absmi(int inp) } if (IsPairTerm(d0)) { if (!IsPairTerm(d1)) { - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); } BEGD(d2); always_save_pc(); d2 = iequ_complex(RepPair(d0)-1, RepPair(d0)+1,RepPair(d1)-1); if (d2 == FALSE) { - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); } ENDD(d2); @@ -12010,7 +12010,7 @@ Yap_absmi(int inp) /* f1 must be a compound term, even if it is a suspension */ if (!IsApplTerm(d1)) { - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); } f1 = FunctorOfTerm(d1); @@ -12024,47 +12024,47 @@ Yap_absmi(int inp) PREG = NEXTOP(PREG, l); GONext(); } - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); case (CELL)FunctorLongInt: if (f1 != FunctorLongInt) { - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); } if (LongIntOfTerm(d0) == LongIntOfTerm(d1)) { PREG = NEXTOP(PREG, l); GONext(); } - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); case (CELL)FunctorString: if (f1 != FunctorString) { - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); } if (strcmp((char *)(RepAppl(d0)+2),(char *)(RepAppl(d1)+2)) == 0) { PREG = NEXTOP(PREG, l); GONext(); } - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); break; #ifdef USE_GMP case (CELL)FunctorBigInt: if (f1 != FunctorBigInt) { - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); } if (Yap_gmp_tcmp_big_big(d0,d1) == 0) { PREG = NEXTOP(PREG, l); GONext(); } - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); #endif case (CELL)FunctorDouble: if (f1 != FunctorDouble) { - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); } if (FloatOfTerm(d0) == FloatOfTerm(d1)) { @@ -12073,19 +12073,19 @@ Yap_absmi(int inp) } break; default: - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); } } if (f0 != f1) { - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); } always_save_pc(); BEGD(d2); d2 = iequ_complex(RepAppl(d0), RepAppl(d0)+ArityOfFunctor(f0), RepAppl(d1)); if (d2 == FALSE) { - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); } ENDD(d2); @@ -12093,7 +12093,7 @@ Yap_absmi(int inp) PREG = NEXTOP(PREG, l); GONext(); } - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); BEGP(pt0); @@ -12103,7 +12103,7 @@ Yap_absmi(int inp) /* second argument is unbound */ /* I don't need to worry about co-routining because an unbound variable may never be == to a constrained variable!! */ - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); ENDD(d1); @@ -12115,7 +12115,7 @@ Yap_absmi(int inp) p_eq_var1_nvar2: /* I don't need to worry about co-routining because an unbound variable may never be == to a constrained variable!! */ - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); BEGP(pt1); @@ -12123,7 +12123,7 @@ Yap_absmi(int inp) /* first argument is unbound */ /* second argument is unbound */ if (pt1 != pt0) { - PREG = PREG->u.l.l; + PREG = PREG->y_u.l.l; GONext(); } PREG = NEXTOP(PREG, l); @@ -12138,14 +12138,14 @@ Yap_absmi(int inp) Op(p_arg_vv, xxx); #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) { - HR[0] = XREG(PREG->u.xxx.x1); - HR[1] = XREG(PREG->u.xxx.x2); + HR[0] = XREG(PREG->y_u.xxx.x1); + HR[1] = XREG(PREG->y_u.xxx.x2); RESET_VARIABLE(HR+2); low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(FunctorArg,0)),HR); } #endif /* LOW_LEVEL_TRACE */ BEGD(d0); - d0 = XREG(PREG->u.xxx.x1); + d0 = XREG(PREG->y_u.xxx.x1); deref_head(d0, arg_arg1_unk); arg_arg1_nvar: /* ARG1 is ok! */ @@ -12164,7 +12164,7 @@ Yap_absmi(int inp) /* d0 now got the argument we want */ BEGD(d1); - d1 = XREG(PREG->u.xxx.x2); + d1 = XREG(PREG->y_u.xxx.x2); deref_head(d1, arg_arg2_unk); arg_arg2_nvar: /* d1 now got the structure we want to fetch the argument @@ -12188,7 +12188,7 @@ Yap_absmi(int inp) */ FAIL(); } - XREG(PREG->u.xxx.x) = pt0[d0]; + XREG(PREG->y_u.xxx.x) = pt0[d0]; PREG = NEXTOP(PREG, xxx); GONext(); ENDP(pt0); @@ -12205,7 +12205,7 @@ Yap_absmi(int inp) } FAIL(); } - XREG(PREG->u.xxx.x) = pt0[d0-1]; + XREG(PREG->y_u.xxx.x) = pt0[d0-1]; PREG = NEXTOP(PREG, xxx); GONext(); ENDP(pt0); @@ -12243,19 +12243,19 @@ Yap_absmi(int inp) #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) { CELL *Ho = HR; - Term t = MkIntegerTerm(PREG->u.xxn.c); + Term t = MkIntegerTerm(PREG->y_u.xxn.c); HR[0] = t; - HR[1] = XREG(PREG->u.xxn.xi); + HR[1] = XREG(PREG->y_u.xxn.xi); RESET_VARIABLE(HR+2); low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(FunctorArg,0)),HR); HR = Ho; } #endif /* LOW_LEVEL_TRACE */ BEGD(d0); - d0 = PREG->u.xxn.c; + d0 = PREG->y_u.xxn.c; /* d0 now got the argument we want */ BEGD(d1); - d1 = XREG(PREG->u.xxn.xi); + d1 = XREG(PREG->y_u.xxn.xi); deref_head(d1, arg_arg2_vc_unk); arg_arg2_vc_nvar: /* d1 now got the structure we want to fetch the argument @@ -12279,7 +12279,7 @@ Yap_absmi(int inp) */ FAIL(); } - XREG(PREG->u.xxn.x) = pt0[d0]; + XREG(PREG->y_u.xxn.x) = pt0[d0]; PREG = NEXTOP(PREG, xxn); GONext(); ENDP(pt0); @@ -12296,7 +12296,7 @@ Yap_absmi(int inp) } FAIL(); } - XREG(PREG->u.xxn.x) = pt0[d0-1]; + XREG(PREG->y_u.xxn.x) = pt0[d0-1]; PREG = NEXTOP(PREG, xxn); GONext(); ENDP(pt0); @@ -12326,15 +12326,15 @@ Yap_absmi(int inp) Op(p_arg_y_vv, yxx); #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) { - HR[0] = XREG(PREG->u.yxx.x1); - HR[1] = XREG(PREG->u.yxx.x2); - HR[2] = YREG[PREG->u.yxx.y]; + HR[0] = XREG(PREG->y_u.yxx.x1); + HR[1] = XREG(PREG->y_u.yxx.x2); + HR[2] = YREG[PREG->y_u.yxx.y]; RESET_VARIABLE(HR+2); low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(FunctorArg,0)),HR); } #endif /* LOW_LEVEL_TRACE */ BEGD(d0); - d0 = XREG(PREG->u.yxx.x1); + d0 = XREG(PREG->y_u.yxx.x1); deref_head(d0, arg_y_arg1_unk); arg_y_arg1_nvar: /* ARG1 is ok! */ @@ -12353,7 +12353,7 @@ Yap_absmi(int inp) /* d0 now got the argument we want */ BEGD(d1); - d1 = XREG(PREG->u.yxx.x2); + d1 = XREG(PREG->y_u.yxx.x2); deref_head(d1, arg_y_arg2_unk); arg_y_arg2_nvar: /* d1 now got the structure we want to fetch the argument @@ -12378,7 +12378,7 @@ Yap_absmi(int inp) FAIL(); } BEGP(pt1); - pt1 = YREG + PREG->u.yxx.y; + pt1 = YREG + PREG->y_u.yxx.y; PREG = NEXTOP(PREG, yxx); INITIALIZE_PERMVAR(pt1,pt0[d0]); ENDP(pt1); @@ -12398,7 +12398,7 @@ Yap_absmi(int inp) FAIL(); } BEGP(pt1); - pt1 = YREG + PREG->u.yxx.y; + pt1 = YREG + PREG->y_u.yxx.y; PREG = NEXTOP(PREG, yxx); INITIALIZE_PERMVAR(pt1,pt0[d0-1]); GONext(); @@ -12438,20 +12438,20 @@ Yap_absmi(int inp) #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) { CELL *Ho = HR; - Term t = MkIntegerTerm(PREG->u.yxn.c); + Term t = MkIntegerTerm(PREG->y_u.yxn.c); HR[0] = t; - HR[1] = XREG(PREG->u.yxn.xi); - HR[2] = YREG[PREG->u.yxn.y]; + HR[1] = XREG(PREG->y_u.yxn.xi); + HR[2] = YREG[PREG->y_u.yxn.y]; RESET_VARIABLE(HR+2); low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(FunctorArg,0)),HR); HR = Ho; } #endif /* LOW_LEVEL_TRACE */ BEGD(d0); - d0 = PREG->u.yxn.c; + d0 = PREG->y_u.yxn.c; /* d0 now got the argument we want */ BEGD(d1); - d1 = XREG(PREG->u.yxn.xi); + d1 = XREG(PREG->y_u.yxn.xi); deref_head(d1, arg_y_arg2_vc_unk); arg_y_arg2_vc_nvar: /* d1 now got the structure we want to fetch the argument @@ -12476,7 +12476,7 @@ Yap_absmi(int inp) FAIL(); } BEGP(pt1); - pt1 = YREG + PREG->u.yxn.y; + pt1 = YREG + PREG->y_u.yxn.y; PREG = NEXTOP(PREG, yxn); INITIALIZE_PERMVAR(pt1,pt0[d0]); ENDP(pt1); @@ -12496,7 +12496,7 @@ Yap_absmi(int inp) FAIL(); } BEGP(pt1); - pt1 = YREG + PREG->u.yxn.y; + pt1 = YREG + PREG->y_u.yxn.y; PREG = NEXTOP(PREG, yxn); INITIALIZE_PERMVAR(pt1,pt0[d0-1]); ENDP(pt1); @@ -12531,19 +12531,19 @@ Yap_absmi(int inp) #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) { RESET_VARIABLE(HR); - HR[1] = XREG(PREG->u.xxx.x1); - HR[2] = XREG(PREG->u.xxx.x2); + HR[1] = XREG(PREG->y_u.xxx.x1); + HR[2] = XREG(PREG->y_u.xxx.x2); low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(FunctorFunctor,0)),HR); } #endif /* LOW_LEVEL_TRACE */ /* We have to build the structure */ BEGD(d0); - d0 = XREG(PREG->u.xxx.x1); + d0 = XREG(PREG->y_u.xxx.x1); deref_head(d0, func2s_unk); func2s_nvar: /* we do, let's get the third argument */ BEGD(d1); - d1 = XREG(PREG->u.xxx.x2); + d1 = XREG(PREG->y_u.xxx.x2); deref_head(d1, func2s_unk2); func2s_nvar2: /* Uuuff, the second and third argument are bound */ @@ -12574,7 +12574,7 @@ Yap_absmi(int inp) HR += 2; /* else if arity is 0 just pass d0 through */ /* Ding, ding, we made it */ - XREG(PREG->u.xxx.x) = d0; + XREG(PREG->y_u.xxx.x) = d0; PREG = NEXTOP(NEXTOP(NEXTOP(PREG, xxx),Osbpp),l); GONext(); } @@ -12616,11 +12616,11 @@ Yap_absmi(int inp) ENDP(pt1); /* else if arity is 0 just pass d0 through */ /* Ding, ding, we made it */ - XREG(PREG->u.xxx.x) = d0; + XREG(PREG->y_u.xxx.x) = d0; PREG = NEXTOP(NEXTOP(NEXTOP(PREG, xxx),Osbpp),l); GONext(); } else if ((Int)d1 == 0) { - XREG(PREG->u.xxx.x) = d0; + XREG(PREG->y_u.xxx.x) = d0; PREG = NEXTOP(NEXTOP(NEXTOP(PREG, xxx),Osbpp),l); GONext(); } else { @@ -12657,17 +12657,17 @@ Yap_absmi(int inp) #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) { RESET_VARIABLE(HR); - HR[1] = PREG->u.xxc.c; - HR[2] = XREG(PREG->u.xxc.xi); + HR[1] = PREG->y_u.xxc.c; + HR[2] = XREG(PREG->y_u.xxc.xi); low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(FunctorFunctor,0)),HR); } #endif /* LOW_LEVEL_TRACE */ BEGD(d0); /* We have to build the structure */ - d0 = PREG->u.xxc.c; + d0 = PREG->y_u.xxc.c; /* we do, let's get the third argument */ BEGD(d1); - d1 = XREG(PREG->u.xxc.xi); + d1 = XREG(PREG->y_u.xxc.xi); deref_head(d1, func2s_unk2_cv); func2s_nvar2_cv: /* Uuuff, the second and third argument are bound */ @@ -12692,7 +12692,7 @@ Yap_absmi(int inp) HR += 2; /* else if arity is 0 just pass d0 through */ /* Ding, ding, we made it */ - XREG(PREG->u.xxc.x) = d0; + XREG(PREG->y_u.xxc.x) = d0; PREG = NEXTOP(NEXTOP(NEXTOP(PREG, xxc),Osbpp),l); GONext(); } else if ((Int)d1 > 0) { @@ -12733,11 +12733,11 @@ Yap_absmi(int inp) ENDP(pt1); /* else if arity is 0 just pass d0 through */ /* Ding, ding, we made it */ - XREG(PREG->u.xxc.x) = d0; + XREG(PREG->y_u.xxc.x) = d0; PREG = NEXTOP(NEXTOP(NEXTOP(PREG, xxc),Osbpp),l); GONext(); } else if (d1 == 0) { - XREG(PREG->u.xxc.x) = d0; + XREG(PREG->y_u.xxc.x) = d0; PREG = NEXTOP(NEXTOP(NEXTOP(PREG, xxc),Osbpp),l); GONext(); } else { @@ -12767,9 +12767,9 @@ Yap_absmi(int inp) Term ti; CELL *hi = HR; - ti = MkIntegerTerm(PREG->u.xxn.c); + ti = MkIntegerTerm(PREG->y_u.xxn.c); RESET_VARIABLE(HR); - HR[1] = XREG(PREG->u.xxn.xi); + HR[1] = XREG(PREG->y_u.xxn.xi); HR[2] = ti; low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(FunctorFunctor,0)),HR); HR = hi; @@ -12777,11 +12777,11 @@ Yap_absmi(int inp) #endif /* LOW_LEVEL_TRACE */ /* We have to build the structure */ BEGD(d0); - d0 = XREG(PREG->u.xxn.xi); + d0 = XREG(PREG->y_u.xxn.xi); deref_head(d0, func2s_unk_vc); func2s_nvar_vc: BEGD(d1); - d1 = PREG->u.xxn.c; + d1 = PREG->y_u.xxn.c; if (!IsAtomicTerm(d0)) { saveregs(); Yap_Error(TYPE_ERROR_ATOM,d0,"functor/3"); @@ -12797,13 +12797,13 @@ Yap_absmi(int inp) HR += 2; /* else if arity is 0 just pass d0 through */ /* Ding, ding, we made it */ - XREG(PREG->u.xxn.x) = d0; + XREG(PREG->y_u.xxn.x) = d0; PREG = NEXTOP(NEXTOP(NEXTOP(PREG, xxn),Osbpp),l); GONext(); } /* now let's build a compound term */ if (d1 == 0) { - XREG(PREG->u.xxn.x) = d0; + XREG(PREG->y_u.xxn.x) = d0; PREG = NEXTOP(NEXTOP(NEXTOP(PREG, xxn),Osbpp),l); GONext(); } @@ -12844,7 +12844,7 @@ Yap_absmi(int inp) ENDD(d1); /* else if arity is 0 just pass d0 through */ /* Ding, ding, we made it */ - XREG(PREG->u.xxn.x) = d0; + XREG(PREG->y_u.xxn.x) = d0; PREG = NEXTOP(NEXTOP(NEXTOP(PREG, xxn),Osbpp),l); GONext(); @@ -12865,19 +12865,19 @@ Yap_absmi(int inp) #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) { RESET_VARIABLE(HR); - HR[1] = XREG(PREG->u.yxx.x1); - HR[2] = XREG(PREG->u.yxx.x2); + HR[1] = XREG(PREG->y_u.yxx.x1); + HR[2] = XREG(PREG->y_u.yxx.x2); low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(FunctorFunctor,0)),HR); } #endif /* LOW_LEVEL_TRACE */ /* We have to build the structure */ BEGD(d0); - d0 = XREG(PREG->u.yxx.x1); + d0 = XREG(PREG->y_u.yxx.x1); deref_head(d0, func2s_y_unk); func2s_y_nvar: /* we do, let's get the third argument */ BEGD(d1); - d1 = XREG(PREG->u.yxx.x2); + d1 = XREG(PREG->y_u.yxx.x2); deref_head(d1, func2s_y_unk2); func2s_y_nvar2: /* Uuuff, the second and third argument are bound */ @@ -12907,7 +12907,7 @@ Yap_absmi(int inp) d0 = AbsPair(HR); HR += 2; BEGP(pt1); - pt1 = YREG + PREG->u.yxx.y; + pt1 = YREG + PREG->y_u.yxx.y; PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxx),Osbpp),l); INITIALIZE_PERMVAR(pt1,d0); ENDP(pt1); @@ -12951,14 +12951,14 @@ Yap_absmi(int inp) /* else if arity is 0 just pass d0 through */ /* Ding, ding, we made it */ BEGP(pt1); - pt1 = YREG + PREG->u.yxx.y; + pt1 = YREG + PREG->y_u.yxx.y; PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxx),Osbpp),l); INITIALIZE_PERMVAR(pt1,d0); ENDP(pt1); GONext(); } else if (d1 == 0) { BEGP(pt1); - pt1 = YREG + PREG->u.yxx.y; + pt1 = YREG + PREG->y_u.yxx.y; PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxx),Osbpp),l); INITIALIZE_PERMVAR(pt1,d0); ENDP(pt1); @@ -12997,17 +12997,17 @@ Yap_absmi(int inp) #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) { RESET_VARIABLE(HR); - HR[1] = PREG->u.yxc.c; - HR[2] = XREG(PREG->u.yxc.xi); + HR[1] = PREG->y_u.yxc.c; + HR[2] = XREG(PREG->y_u.yxc.xi); low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(FunctorFunctor,0)),HR); } #endif /* LOW_LEVEL_TRACE */ /* We have to build the structure */ BEGD(d0); - d0 = PREG->u.yxc.c; + d0 = PREG->y_u.yxc.c; /* we do, let's get the third argument */ BEGD(d1); - d1 = XREG(PREG->u.yxc.xi); + d1 = XREG(PREG->y_u.yxc.xi); deref_head(d1, func2s_y_unk_cv); func2s_y_nvar_cv: /* Uuuff, the second and third argument are bound */ @@ -13033,7 +13033,7 @@ Yap_absmi(int inp) /* else if arity is 0 just pass d0 through */ /* Ding, ding, we made it */ BEGP(pt1); - pt1 = YREG + PREG->u.yxc.y; + pt1 = YREG + PREG->y_u.yxc.y; PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxc),Osbpp),l); INITIALIZE_PERMVAR(pt1,d0); ENDP(pt1); @@ -13078,14 +13078,14 @@ Yap_absmi(int inp) /* else if arity is 0 just pass d0 through */ /* Ding, ding, we made it */ BEGP(pt1); - pt1 = YREG + PREG->u.yxc.y; + pt1 = YREG + PREG->y_u.yxc.y; PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxc),Osbpp),l); INITIALIZE_PERMVAR(pt1,d0); ENDP(pt1); GONext(); } else if (d1 == 0) { BEGP(pt1); - pt1 = YREG + PREG->u.yxc.y; + pt1 = YREG + PREG->y_u.yxc.y; PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxc),Osbpp),l); INITIALIZE_PERMVAR(pt1,d0); ENDP(pt1); @@ -13117,9 +13117,9 @@ Yap_absmi(int inp) Term ti; CELL *hi = HR; - ti = MkIntegerTerm((Int)(PREG->u.yxn.c)); + ti = MkIntegerTerm((Int)(PREG->y_u.yxn.c)); RESET_VARIABLE(HR); - HR[1] = XREG(PREG->u.yxn.xi); + HR[1] = XREG(PREG->y_u.yxn.xi); HR[2] = ti; low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(FunctorFunctor,0)),HR); HR = hi; @@ -13127,11 +13127,11 @@ Yap_absmi(int inp) #endif /* LOW_LEVEL_TRACE */ /* We have to build the structure */ BEGD(d0); - d0 = XREG(PREG->u.yxn.xi); + d0 = XREG(PREG->y_u.yxn.xi); deref_head(d0, func2s_y_unk_vc); func2s_y_nvar_vc: BEGD(d1); - d1 = PREG->u.yxn.c; + d1 = PREG->y_u.yxn.c; if (!IsAtomicTerm(d0)) { saveregs(); Yap_Error(TYPE_ERROR_ATOM,d0,"functor/3"); @@ -13148,7 +13148,7 @@ Yap_absmi(int inp) /* else if arity is 0 just pass d0 through */ /* Ding, ding, we made it */ BEGP(pt1); - pt1 = YREG + PREG->u.yxn.y; + pt1 = YREG + PREG->y_u.yxn.y; PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxn),Osbpp),l); INITIALIZE_PERMVAR(pt1,d0); ENDP(pt1); @@ -13156,7 +13156,7 @@ Yap_absmi(int inp) } if (d1 == 0) { BEGP(pt1); - pt1 = YREG + PREG->u.yxn.y; + pt1 = YREG + PREG->y_u.yxn.y; PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxn),Osbpp),l); INITIALIZE_PERMVAR(pt1,d0); ENDP(pt1); @@ -13206,7 +13206,7 @@ Yap_absmi(int inp) /* else if arity is 0 just pass d0 through */ /* Ding, ding, we made it */ BEGP(pt1); - pt1 = YREG + PREG->u.yxn.y; + pt1 = YREG + PREG->y_u.yxn.y; PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxn),Osbpp),l); INITIALIZE_PERMVAR(pt1,d0); ENDP(pt1); @@ -13227,36 +13227,36 @@ Yap_absmi(int inp) Op(p_func2f_xx, xxx); #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) { - HR[0] = XREG(PREG->u.xxx.x); + HR[0] = XREG(PREG->y_u.xxx.x); RESET_VARIABLE(HR+1); RESET_VARIABLE(HR+2); low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(FunctorFunctor,0)),HR); } #endif /* LOW_LEVEL_TRACE */ BEGD(d0); - d0 = XREG(PREG->u.xxx.x); + d0 = XREG(PREG->y_u.xxx.x); deref_head(d0, func2f_xx_unk); func2f_xx_nvar: if (IsApplTerm(d0)) { Functor d1 = FunctorOfTerm(d0); if (IsExtensionFunctor(d1)) { - XREG(PREG->u.xxx.x1) = d0; - XREG(PREG->u.xxx.x2) = MkIntTerm(0); + XREG(PREG->y_u.xxx.x1) = d0; + XREG(PREG->y_u.xxx.x2) = MkIntTerm(0); PREG = NEXTOP(PREG, xxx); GONext(); } - XREG(PREG->u.xxx.x1) = MkAtomTerm(NameOfFunctor(d1)); - XREG(PREG->u.xxx.x2) = MkIntegerTerm(ArityOfFunctor(d1)); + XREG(PREG->y_u.xxx.x1) = MkAtomTerm(NameOfFunctor(d1)); + XREG(PREG->y_u.xxx.x2) = MkIntegerTerm(ArityOfFunctor(d1)); PREG = NEXTOP(PREG, xxx); GONext(); } else if (IsPairTerm(d0)) { - XREG(PREG->u.xxx.x1) = TermDot; - XREG(PREG->u.xxx.x2) = MkIntTerm(2); + XREG(PREG->y_u.xxx.x1) = TermDot; + XREG(PREG->y_u.xxx.x2) = MkIntTerm(2); PREG = NEXTOP(PREG, xxx); GONext(); } else { - XREG(PREG->u.xxx.x1) = d0; - XREG(PREG->u.xxx.x2) = MkIntTerm(0); + XREG(PREG->y_u.xxx.x1) = d0; + XREG(PREG->y_u.xxx.x2) = MkIntTerm(0); PREG = NEXTOP(PREG, xxx); GONext(); } @@ -13275,38 +13275,38 @@ Yap_absmi(int inp) Op(p_func2f_xy, xxy); #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) { - HR[0] = XREG(PREG->u.xxy.x); + HR[0] = XREG(PREG->y_u.xxy.x); RESET_VARIABLE(HR+1); RESET_VARIABLE(HR+2); low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(FunctorFunctor,0)),HR); } #endif /* LOW_LEVEL_TRACE */ BEGD(d0); - d0 = XREG(PREG->u.xxy.x); + d0 = XREG(PREG->y_u.xxy.x); deref_head(d0, func2f_xy_unk); func2f_xy_nvar: if (IsApplTerm(d0)) { Functor d1 = FunctorOfTerm(d0); - CELL *pt0 = YREG+PREG->u.xxy.y2; + CELL *pt0 = YREG+PREG->y_u.xxy.y2; if (IsExtensionFunctor(d1)) { - XREG(PREG->u.xxy.x1) = d0; + XREG(PREG->y_u.xxy.x1) = d0; PREG = NEXTOP(PREG, xxy); INITIALIZE_PERMVAR(pt0, MkIntTerm(0)); GONext(); } - XREG(PREG->u.xxy.x1) = MkAtomTerm(NameOfFunctor(d1)); + XREG(PREG->y_u.xxy.x1) = MkAtomTerm(NameOfFunctor(d1)); PREG = NEXTOP(PREG, xxy); INITIALIZE_PERMVAR(pt0, MkIntegerTerm(ArityOfFunctor(d1))); GONext(); } else if (IsPairTerm(d0)) { - CELL *pt0 = YREG+PREG->u.xxy.y2; - XREG(PREG->u.xxy.x1) = TermDot; + CELL *pt0 = YREG+PREG->y_u.xxy.y2; + XREG(PREG->y_u.xxy.x1) = TermDot; PREG = NEXTOP(PREG, xxy); INITIALIZE_PERMVAR(pt0, MkIntTerm(2)); GONext(); } else { - CELL *pt0 = YREG+PREG->u.xxy.y2; - XREG(PREG->u.xxy.x1) = d0; + CELL *pt0 = YREG+PREG->y_u.xxy.y2; + XREG(PREG->y_u.xxy.x1) = d0; PREG = NEXTOP(PREG, xxy); INITIALIZE_PERMVAR(pt0, MkIntTerm(0)); GONext(); @@ -13326,38 +13326,38 @@ Yap_absmi(int inp) Op(p_func2f_yx, yxx); #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) { - HR[0] = XREG(PREG->u.yxx.x2); + HR[0] = XREG(PREG->y_u.yxx.x2); RESET_VARIABLE(HR+1); RESET_VARIABLE(HR+2); low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(FunctorFunctor,0)),HR); } #endif /* LOW_LEVEL_TRACE */ BEGD(d0); - d0 = XREG(PREG->u.yxx.x2); + d0 = XREG(PREG->y_u.yxx.x2); deref_head(d0, func2f_yx_unk); func2f_yx_nvar: if (IsApplTerm(d0)) { Functor d1 = FunctorOfTerm(d0); - CELL *pt0 = YREG+PREG->u.yxx.y; + CELL *pt0 = YREG+PREG->y_u.yxx.y; if (IsExtensionFunctor(d1)) { - XREG(PREG->u.yxx.x1) = MkIntTerm(0); + XREG(PREG->y_u.yxx.x1) = MkIntTerm(0); PREG = NEXTOP(PREG, yxx); INITIALIZE_PERMVAR(pt0, d0); GONext(); } - XREG(PREG->u.yxx.x1) = MkIntegerTerm(ArityOfFunctor(d1)); + XREG(PREG->y_u.yxx.x1) = MkIntegerTerm(ArityOfFunctor(d1)); PREG = NEXTOP(PREG, yxx); INITIALIZE_PERMVAR(pt0, MkAtomTerm(NameOfFunctor(d1))); GONext(); } else if (IsPairTerm(d0)) { - CELL *pt0 = YREG+PREG->u.yxx.y; - XREG(PREG->u.yxx.x1) = MkIntTerm(2); + CELL *pt0 = YREG+PREG->y_u.yxx.y; + XREG(PREG->y_u.yxx.x1) = MkIntTerm(2); PREG = NEXTOP(PREG, yxx); INITIALIZE_PERMVAR(pt0 ,TermDot); GONext(); } else { - CELL *pt0 = YREG+PREG->u.yxx.y; - XREG(PREG->u.yxx.x1) = MkIntTerm(0); + CELL *pt0 = YREG+PREG->y_u.yxx.y; + XREG(PREG->y_u.yxx.x1) = MkIntTerm(0); PREG = NEXTOP(PREG, yxx); INITIALIZE_PERMVAR(pt0, d0); GONext(); @@ -13377,20 +13377,20 @@ Yap_absmi(int inp) Op(p_func2f_yy, yyx); #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) { - HR[0] = XREG(PREG->u.yyx.x); + HR[0] = XREG(PREG->y_u.yyx.x); RESET_VARIABLE(HR+1); RESET_VARIABLE(HR+2); low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(FunctorFunctor,0)),HR); } #endif /* LOW_LEVEL_TRACE */ BEGD(d0); - d0 = XREG(PREG->u.yyx.x); + d0 = XREG(PREG->y_u.yyx.x); deref_head(d0, func2f_yy_unk); func2f_yy_nvar: if (IsApplTerm(d0)) { Functor d1 = FunctorOfTerm(d0); - CELL *pt0 = YREG+PREG->u.yyx.y1; - CELL *pt1 = YREG+PREG->u.yyx.y2; + CELL *pt0 = YREG+PREG->y_u.yyx.y1; + CELL *pt1 = YREG+PREG->y_u.yyx.y2; if (IsExtensionFunctor(d1)) { PREG = NEXTOP(PREG, yyx); INITIALIZE_PERMVAR(pt0, d0); @@ -13402,15 +13402,15 @@ Yap_absmi(int inp) INITIALIZE_PERMVAR(pt1, MkIntegerTerm(ArityOfFunctor(d1))); GONext(); } else if (IsPairTerm(d0)) { - CELL *pt0 = YREG+PREG->u.yyx.y1; - CELL *pt1 = YREG+PREG->u.yyx.y2; + CELL *pt0 = YREG+PREG->y_u.yyx.y1; + CELL *pt1 = YREG+PREG->y_u.yyx.y2; PREG = NEXTOP(PREG, yyx); INITIALIZE_PERMVAR(pt0, TermDot); INITIALIZE_PERMVAR(pt1, MkIntTerm(2)); GONext(); } else { - CELL *pt0 = YREG+PREG->u.yyx.y1; - CELL *pt1 = YREG+PREG->u.yyx.y2; + CELL *pt0 = YREG+PREG->y_u.yyx.y1; + CELL *pt1 = YREG+PREG->y_u.yyx.y2; PREG = NEXTOP(PREG, yyx); INITIALIZE_PERMVAR(pt0, d0); INITIALIZE_PERMVAR(pt1, MkIntTerm(0)); @@ -13637,7 +13637,7 @@ Yap_absmi(int inp) mod = ENV_YREG[-EnvSizeInCells-3]; /* set YREG */ /* Try to preserve the environment */ - ENV_YREG = (CELL *) (((char *) YREG) + PREG->u.Osbmp.s); + ENV_YREG = (CELL *) (((char *) YREG) + PREG->y_u.Osbmp.s); #ifdef FROZEN_STACKS { choiceptr top_b = PROTECT_FROZEN_B(B); @@ -13693,12 +13693,12 @@ Yap_absmi(int inp) BOp(p_execute, Osbmp); /* fetch the module from PREG */ - mod = PREG->u.Osbmp.mod; + mod = PREG->y_u.Osbmp.mod; start_execute: b_ptr = B; /* we have mod, and ARG1 has the goal, let us roll */ /* Try to preserve the environment */ - ENV_YREG = (CELL *) (((char *) YREG) + PREG->u.Osbmp.s); + ENV_YREG = (CELL *) (((char *) YREG) + PREG->y_u.Osbmp.s); #ifdef FROZEN_STACKS { choiceptr top_b = PROTECT_FROZEN_B(B); diff --git a/C/amasm.c b/C/amasm.c index 0a909ee86..eae3a6ac7 100755 --- a/C/amasm.c +++ b/C/amasm.c @@ -283,7 +283,7 @@ static void a_fetch_cv(cmp_op_info *, int, struct intermediates *); static void a_fetch_vc(cmp_op_info *, int, struct intermediates *); static yamop *a_f2(cmp_op_info *, yamop *, int, struct intermediates *); -#define GONEXT(TYPE) code_p = ((yamop *)(&(code_p->u.TYPE.next))) +#define GONEXT(TYPE) code_p = ((yamop *)(&(code_p->y_u.TYPE.next))) inline static yslot emit_y(Ventry *ve) @@ -471,14 +471,14 @@ a_lucl(op_numbers opcode, yamop *code_p, int pass_no, struct intermediates *cip, if (pass_no) { LogUpdIndex *lcl = (LogUpdIndex *)cip->code_addr; code_p->opc = emit_op(opcode); - code_p->u.Illss.I = lcl; + code_p->y_u.Illss.I = lcl; cip->cpc->rnd4 = (CELL)code_p; - cip->current_try_lab = &code_p->u.Illss.l1; - cip->current_trust_lab = &code_p->u.Illss.l2; - code_p->u.Illss.l1 = NULL; - code_p->u.Illss.l2 = NULL; - code_p->u.Illss.s = cip->cpc->rnd3; - code_p->u.Illss.e = 0; + cip->current_try_lab = &code_p->y_u.Illss.l1; + cip->current_trust_lab = &code_p->y_u.Illss.l2; + code_p->y_u.Illss.l1 = NULL; + code_p->y_u.Illss.l2 = NULL; + code_p->y_u.Illss.s = cip->cpc->rnd3; + code_p->y_u.Illss.e = 0; } GONEXT(Illss); return code_p; @@ -491,7 +491,7 @@ a_cle(op_numbers opcode, yamop *code_p, int pass_no, struct intermediates *cip) LogUpdClause *cl = (LogUpdClause *)cip->code_addr; code_p->opc = emit_op(opcode); - code_p->u.L.ClBase = cl; + code_p->y_u.L.ClBase = cl; cl->ClExt = code_p; cl->ClFlags |= LogUpdRuleMask; } @@ -515,7 +515,7 @@ a_p0(op_numbers opcode, yamop *code_p, int pass_no, PredEntry *p0) { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.p.p = p0; + code_p->y_u.p.p = p0; } GONEXT(p); return code_p; @@ -526,8 +526,8 @@ a_lp(op_numbers opcode, yamop *code_p, int pass_no, struct intermediates *cip) { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.lp.p = (PredEntry *)cip->cpc->rnd1; - code_p->u.lp.l = (yamop *)cip->cpc->rnd2; + code_p->y_u.lp.p = (PredEntry *)cip->cpc->rnd1; + code_p->y_u.lp.l = (yamop *)cip->cpc->rnd2; } GONEXT(lp); return code_p; @@ -538,7 +538,7 @@ a_ue(op_numbers opcode, op_numbers opcodew, yamop *code_p, int pass_no) { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.o.opcw = emit_op(opcodew); + code_p->y_u.o.opcw = emit_op(opcodew); } GONEXT(o); return code_p; @@ -565,14 +565,14 @@ a_v(op_numbers opcodex, op_numbers opcodey, yamop *code_p, int pass_no, struct P if (is_y_var) { if (pass_no) { code_p->opc = emit_op(opcodey); - code_p->u.y.y = emit_yreg(var_offset); + code_p->y_u.y.y = emit_yreg(var_offset); } GONEXT(y); } else { if (pass_no) { code_p->opc = emit_op(opcodex); - code_p->u.x.x = emit_xreg(var_offset); + code_p->y_u.x.x = emit_xreg(var_offset); } GONEXT(x); } @@ -590,18 +590,18 @@ a_vp(op_numbers opcodex, op_numbers opcodey, yamop *code_p, int pass_no, struct if (is_y_var) { if (pass_no) { code_p->opc = emit_op(opcodey); - code_p->u.yps.y = emit_yreg(var_offset); - code_p->u.yps.p0 = clinfo->CurrentPred; - code_p->u.yps.s = -Signed(RealEnvSize) - CELLSIZE * cpc->rnd2; + code_p->y_u.yps.y = emit_yreg(var_offset); + code_p->y_u.yps.p0 = clinfo->CurrentPred; + code_p->y_u.yps.s = -Signed(RealEnvSize) - CELLSIZE * cpc->rnd2; } GONEXT(yps); } else { if (pass_no) { code_p->opc = emit_op(opcodex); - code_p->u.xps.x = emit_xreg(var_offset); - code_p->u.xps.p0 = clinfo->CurrentPred; - code_p->u.xps.s = -Signed(RealEnvSize) - CELLSIZE * cpc->rnd2; + code_p->y_u.xps.x = emit_xreg(var_offset); + code_p->y_u.xps.p0 = clinfo->CurrentPred; + code_p->y_u.xps.s = -Signed(RealEnvSize) - CELLSIZE * cpc->rnd2; } GONEXT(xps); } @@ -618,16 +618,16 @@ a_uv(Ventry *ve, op_numbers opcodex, op_numbers opcodexw, op_numbers opcodey, op if (is_y_var) { if (pass_no) { code_p->opc = emit_op(opcodey); - code_p->u.oy.opcw = emit_op(opcodeyw); - code_p->u.oy.y = emit_yreg(var_offset); + code_p->y_u.oy.opcw = emit_op(opcodeyw); + code_p->y_u.oy.y = emit_yreg(var_offset); } GONEXT(oy); } else { if (pass_no) { code_p->opc = emit_op(opcodex); - code_p->u.ox.opcw = emit_op(opcodexw); - code_p->u.ox.x = emit_xreg(var_offset); + code_p->y_u.ox.opcw = emit_op(opcodexw); + code_p->y_u.ox.x = emit_xreg(var_offset); } GONEXT(ox); } @@ -643,8 +643,8 @@ a_vv(op_numbers opcode, op_numbers opcodew, yamop *code_p, int pass_no, struct i if (pass_no) { OPREG var_offset = Var_Ref(ve, is_y_var); code_p->opc = emit_op(opcode); - code_p->u.oxx.opcw = emit_op(opcodew); - code_p->u.oxx.xl = emit_xreg(var_offset); + code_p->y_u.oxx.opcw = emit_op(opcodew); + code_p->y_u.oxx.xl = emit_xreg(var_offset); } cip->cpc = cip->cpc->nextInst; if (pass_no) { @@ -654,7 +654,7 @@ a_vv(op_numbers opcode, op_numbers opcodew, yamop *code_p, int pass_no, struct i ve = (Ventry *) cip->cpc->rnd1; is_y_var = (ve->KindOfVE == PermVar); var_offset = Var_Ref(ve, is_y_var); - code_p->u.oxx.xr = emit_xreg(var_offset); + code_p->y_u.oxx.xr = emit_xreg(var_offset); } GONEXT(oxx); return code_p; @@ -680,11 +680,11 @@ a_vr(op_numbers opcodex, op_numbers opcodey, yamop *code_p, int pass_no, struct var_offset = Var_Ref(ve, is_y_var); code_p->opc = emit_op(_put_y_vals); - code_p->u.yyxx.y1 = emit_yreg(var_offset); - code_p->u.yyxx.x1 = emit_x(cpc->rnd2); + code_p->y_u.yyxx.y1 = emit_yreg(var_offset); + code_p->y_u.yyxx.x1 = emit_x(cpc->rnd2); var_offset2 = Var_Ref(ve2, is_y_var); - code_p->u.yyxx.y2 = emit_yreg(var_offset2); - code_p->u.yyxx.x2 = emit_x(ncpc->rnd2); + code_p->y_u.yyxx.y2 = emit_yreg(var_offset2); + code_p->y_u.yyxx.x2 = emit_x(ncpc->rnd2); } cip->cpc = ncpc; GONEXT(yyxx); @@ -702,8 +702,8 @@ a_vr(op_numbers opcodex, op_numbers opcodey, yamop *code_p, int pass_no, struct code_p->opc = emit_op(_put_y_var); var_offset = Var_Ref(ve, is_y_var); var_offset2 = Var_Ref(ve2, !is_y_var); - code_p->u.yx.x = emit_xreg(var_offset2); - code_p->u.yx.y = emit_yreg(var_offset); + code_p->y_u.yx.x = emit_xreg(var_offset2); + code_p->y_u.yx.y = emit_yreg(var_offset); } cip->cpc = ncpc; GONEXT(yx); @@ -721,11 +721,11 @@ a_vr(op_numbers opcodex, op_numbers opcodey, yamop *code_p, int pass_no, struct var_offset = Var_Ref(ve, is_y_var); code_p->opc = emit_op(_get_yy_var); - code_p->u.yyxx.y1 = emit_yreg(var_offset); - code_p->u.yyxx.x1 = emit_x(cpc->rnd2); + code_p->y_u.yyxx.y1 = emit_yreg(var_offset); + code_p->y_u.yyxx.x1 = emit_x(cpc->rnd2); var_offset2 = Var_Ref(ve2, is_y_var); - code_p->u.yyxx.y2 = emit_yreg(var_offset2); - code_p->u.yyxx.x2 = emit_x(ncpc->rnd2); + code_p->y_u.yyxx.y2 = emit_yreg(var_offset2); + code_p->y_u.yyxx.x2 = emit_x(ncpc->rnd2); } cip->cpc = ncpc; GONEXT(yyxx); @@ -736,8 +736,8 @@ a_vr(op_numbers opcodex, op_numbers opcodey, yamop *code_p, int pass_no, struct OPREG var_offset; var_offset = Var_Ref(ve, is_y_var); code_p->opc = emit_op(opcodey); - code_p->u.yx.y = emit_yreg(var_offset); - code_p->u.yx.x = emit_x(cpc->rnd2); + code_p->y_u.yx.y = emit_yreg(var_offset); + code_p->y_u.yx.x = emit_x(cpc->rnd2); } GONEXT(yx); return code_p; @@ -755,11 +755,11 @@ a_vr(op_numbers opcodex, op_numbers opcodey, yamop *code_p, int pass_no, struct var_offset = Var_Ref(ve, is_y_var); code_p->opc = emit_op(_put_xx_val); - code_p->u.xxxx.xl1 = emit_xreg(var_offset); - code_p->u.xxxx.xr1 = emit_x(cpc->rnd2); + code_p->y_u.xxxx.xl1 = emit_xreg(var_offset); + code_p->y_u.xxxx.xr1 = emit_x(cpc->rnd2); var_offset2 = Var_Ref(ve2, is_y_var); - code_p->u.xxxx.xl2 = emit_xreg(var_offset2); - code_p->u.xxxx.xr2 = emit_x(ncpc->rnd2); + code_p->y_u.xxxx.xl2 = emit_xreg(var_offset2); + code_p->y_u.xxxx.xr2 = emit_x(ncpc->rnd2); } cip->cpc = ncpc; GONEXT(xxxx); @@ -787,8 +787,8 @@ a_vr(op_numbers opcodex, op_numbers opcodey, yamop *code_p, int pass_no, struct code_p->opc = emit_op(_get_y_var); else code_p->opc = emit_op(_get_y_val); - code_p->u.yx.x = emit_xreg(var_offset); - code_p->u.yx.y = emit_yreg(var_offset2); + code_p->y_u.yx.x = emit_xreg(var_offset); + code_p->y_u.yx.y = emit_yreg(var_offset2); } GONEXT(yx); cip->cpc = ncpc; @@ -797,8 +797,8 @@ a_vr(op_numbers opcodex, op_numbers opcodey, yamop *code_p, int pass_no, struct if (pass_no) { var_offset = Var_Ref(ve, is_y_var); var_offset2 = Var_Ref(ve2, is_y_var2); - code_p->u.xx.xl = emit_xreg(var_offset); - code_p->u.xx.xr = emit_xreg(var_offset2); + code_p->y_u.xx.xl = emit_xreg(var_offset); + code_p->y_u.xx.xr = emit_xreg(var_offset2); if (ncpc->op == get_var_op) code_p->opc = emit_op(_put_x_val); else { @@ -817,13 +817,13 @@ a_vr(op_numbers opcodex, op_numbers opcodey, yamop *code_p, int pass_no, struct var_offset = Var_Ref(ve, is_y_var); code_p->opc = emit_op(opcodex); - code_p->u.xx.xl = emit_xreg(var_offset); - code_p->u.xx.xr = emit_x(cpc->rnd2); + code_p->y_u.xx.xl = emit_xreg(var_offset); + code_p->y_u.xx.xr = emit_x(cpc->rnd2); /* a small trick, usualy the lower argument is the one bound */ - if (opcodex == _get_x_val && code_p->u.xx.xl > code_p->u.xx.xr) { - wamreg x1 = code_p->u.xx.xl; - code_p->u.xx.xl = code_p->u.xx.xr; - code_p->u.xx.xr = x1; + if (opcodex == _get_x_val && code_p->y_u.xx.xl > code_p->y_u.xx.xr) { + wamreg x1 = code_p->y_u.xx.xl; + code_p->y_u.xx.xl = code_p->y_u.xx.xr; + code_p->y_u.xx.xr = x1; } } GONEXT(xx); @@ -839,16 +839,16 @@ a_rv(op_numbers opcodex, op_numbers opcodey, OPREG var_offset, yamop *code_p, in if (is_y_var) { if (pass_no) { code_p->opc = emit_op(opcodey); - code_p->u.yx.x = emit_x(cpc->rnd2); - code_p->u.yx.y = emit_yreg(var_offset); + code_p->y_u.yx.x = emit_x(cpc->rnd2); + code_p->y_u.yx.y = emit_yreg(var_offset); } GONEXT(yx); } else { if (pass_no) { code_p->opc = emit_op(opcodex); - code_p->u.xx.xl = emit_x(cpc->rnd2); - code_p->u.xx.xr = emit_xreg(var_offset); + code_p->y_u.xx.xl = emit_x(cpc->rnd2); + code_p->y_u.xx.xr = emit_xreg(var_offset); } GONEXT(xx); } @@ -870,18 +870,18 @@ a_vsf(int opcode, yamop *code_p, int pass_no, struct PSEUDO *cpc) if (is_y_var) { if (pass_no) { code_p->opc = emit_op((op_numbers)((int)opcode + is_y_var)); - code_p->u.fy.f = emit_f(cpc->rnd2); - code_p->u.fy.a = ArityOfFunctor(emit_f(cpc->rnd2)); - code_p->u.fy.y = emit_yreg(var_offset); + code_p->y_u.fy.f = emit_f(cpc->rnd2); + code_p->y_u.fy.a = ArityOfFunctor(emit_f(cpc->rnd2)); + code_p->y_u.fy.y = emit_yreg(var_offset); } GONEXT(fy); } else { if (pass_no) { code_p->opc = emit_op((op_numbers)((int)opcode + is_y_var)); - code_p->u.fx.f = emit_f(cpc->rnd2); - code_p->u.fx.a = ArityOfFunctor(emit_f(cpc->rnd2)); - code_p->u.fx.x = emit_xreg(var_offset); + code_p->y_u.fx.f = emit_f(cpc->rnd2); + code_p->y_u.fx.a = ArityOfFunctor(emit_f(cpc->rnd2)); + code_p->y_u.fx.x = emit_xreg(var_offset); } GONEXT(fx); } @@ -893,9 +893,9 @@ a_asf(int opcode, yamop *code_p, int pass_no, struct PSEUDO *cpc) { if (pass_no) { code_p->opc = emit_op((op_numbers)((int)opcode + is_y_var)); - code_p->u.fn.f = emit_f(cpc->rnd2); - code_p->u.fn.a = ArityOfFunctor(emit_f(cpc->rnd2)); - code_p->u.fn.n = emit_count(cpc->rnd1); + code_p->y_u.fn.f = emit_f(cpc->rnd2); + code_p->y_u.fn.a = ArityOfFunctor(emit_f(cpc->rnd2)); + code_p->y_u.fn.n = emit_count(cpc->rnd1); } GONEXT(fn); return code_p; @@ -918,7 +918,7 @@ a_n(op_numbers opcode, int count, yamop *code_p, int pass_no) { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.s.s = count; + code_p->y_u.s.s = count; } GONEXT(s); return code_p; @@ -930,8 +930,8 @@ a_eam(op_numbers opcode, int pred, long cl, yamop *code_p, int pass_no) { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.os.opcw = cl; - code_p->u.os.s = pred; + code_p->y_u.os.opcw = cl; + code_p->y_u.os.s = pred; } GONEXT(os); return code_p; @@ -943,8 +943,8 @@ a_un(op_numbers opcode, op_numbers opcodew, int count, yamop *code_p, int pass_n { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.os.opcw = emit_op(opcodew); - code_p->u.os.s = count; + code_p->y_u.os.opcw = emit_op(opcodew); + code_p->y_u.os.s = count; } GONEXT(os); return code_p; @@ -957,8 +957,8 @@ a_f(CELL rnd1, op_numbers opcode, yamop *code_p, int pass_no) Functor f = emit_f(rnd1); code_p->opc = emit_op(opcode); - code_p->u.fa.f = f; - code_p->u.fa.a = ArityOfFunctor(f); + code_p->y_u.fa.f = f; + code_p->y_u.fa.a = ArityOfFunctor(f); } GONEXT(fa); return code_p; @@ -971,9 +971,9 @@ a_uf(CELL rnd1, op_numbers opcode, op_numbers opcodew, yamop *code_p, int pass_n Functor f = emit_f(rnd1); code_p->opc = emit_op(opcode); - code_p->u.ofa.opcw = emit_op(opcodew); - code_p->u.ofa.f = f; - code_p->u.ofa.a = ArityOfFunctor(f); + code_p->y_u.ofa.opcw = emit_op(opcodew); + code_p->y_u.ofa.f = f; + code_p->y_u.ofa.a = ArityOfFunctor(f); } GONEXT(ofa); return code_p; @@ -984,7 +984,7 @@ a_c(CELL rnd1, op_numbers opcode, yamop *code_p, int pass_no) { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.c.c = emit_c(rnd1); + code_p->y_u.c.c = emit_c(rnd1); } GONEXT(c); return code_p; @@ -995,8 +995,8 @@ a_uc(CELL rnd1, op_numbers opcode, op_numbers opcode_w, yamop *code_p, int pass_ { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.oc.opcw = emit_op(opcode_w); - code_p->u.oc.c = emit_c(rnd1); + code_p->y_u.oc.opcw = emit_op(opcode_w); + code_p->y_u.oc.c = emit_c(rnd1); } GONEXT(oc); return code_p; @@ -1007,7 +1007,7 @@ a_wblob(CELL rnd1, op_numbers opcode, int *clause_has_blobsp, yamop *code_p, int { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.N.b = + code_p->y_u.N.b = AbsAppl((CELL *)(Unsigned(cip->code_addr) + cip->label_offset[rnd1])); } *clause_has_blobsp = TRUE; @@ -1021,10 +1021,10 @@ a_ensure_space(op_numbers opcode, yamop *code_p, int pass_no, struct intermediat if (cip->cpc->rnd1 > 4096) { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.Osbpa.i = sizeof(CELL) * cip->cpc->rnd1; - code_p->u.Osbpa.p = clinfo->CurrentPred; - code_p->u.Osbpa.bmap = NULL; - code_p->u.Osbpa.s = emit_count(-Signed(RealEnvSize)); + code_p->y_u.Osbpa.i = sizeof(CELL) * cip->cpc->rnd1; + code_p->y_u.Osbpa.p = clinfo->CurrentPred; + code_p->y_u.Osbpa.bmap = NULL; + code_p->y_u.Osbpa.s = emit_count(-Signed(RealEnvSize)); } GONEXT(Osbpa); } @@ -1037,7 +1037,7 @@ a_wdbt(CELL rnd1, op_numbers opcode, int *clause_has_dbtermp, yamop *code_p, int { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.D.D = rnd1; + code_p->y_u.D.D = rnd1; add_to_dbtermsl(cip, cip->cpc->rnd1); } *clause_has_dbtermp = TRUE; @@ -1050,8 +1050,8 @@ a_ublob(CELL rnd1, op_numbers opcode, op_numbers opcode_w, int *clause_has_blobs { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.oN.opcw = emit_op(opcode_w); - code_p->u.oN.b = + code_p->y_u.oN.opcw = emit_op(opcode_w); + code_p->y_u.oN.b = AbsAppl((CELL *)(Unsigned(cip->code_addr) + cip->label_offset[rnd1])); } @@ -1066,8 +1066,8 @@ a_ustring(CELL rnd1, op_numbers opcode, op_numbers opcode_w, int *clause_has_blo { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.ou.opcw = emit_op(opcode_w); - code_p->u.ou.ut = + code_p->y_u.ou.opcw = emit_op(opcode_w); + code_p->y_u.ou.ut = AbsAppl((CELL *)(Unsigned(cip->code_addr) + cip->label_offset[rnd1])); } *clause_has_blobsp = TRUE; @@ -1080,8 +1080,8 @@ a_udbt(CELL rnd1, op_numbers opcode, op_numbers opcode_w, int *clause_has_dbterm { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.oD.opcw = emit_op(opcode_w); - code_p->u.oD.D = cip->cpc->rnd1; + code_p->y_u.oD.opcw = emit_op(opcode_w); + code_p->y_u.oD.D = cip->cpc->rnd1; add_to_dbtermsl(cip, cip->cpc->rnd1); } *clause_has_dbtermp = TRUE; @@ -1094,11 +1094,11 @@ a_ud(op_numbers opcode, op_numbers opcode_w, yamop *code_p, int pass_no, struct { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.od.opcw = emit_op(opcode_w); - code_p->u.od.d[0] = (CELL)FunctorDouble; - code_p->u.od.d[1] = RepAppl(cpc->rnd1)[1]; + code_p->y_u.od.opcw = emit_op(opcode_w); + code_p->y_u.od.d[0] = (CELL)FunctorDouble; + code_p->y_u.od.d[1] = RepAppl(cpc->rnd1)[1]; #if SIZEOF_DOUBLE == 2*SIZEOF_INT_P - code_p->u.od.d[2] = RepAppl(cpc->rnd1)[2]; + code_p->y_u.od.d[2] = RepAppl(cpc->rnd1)[2]; #endif } GONEXT(od); @@ -1110,9 +1110,9 @@ a_ui(op_numbers opcode, op_numbers opcode_w, yamop *code_p, int pass_no, struct { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.oi.opcw = emit_op(opcode_w); - code_p->u.oi.i[0] = (CELL)FunctorLongInt; - code_p->u.oi.i[1] = RepAppl(cpc->rnd1)[1]; + code_p->y_u.oi.opcw = emit_op(opcode_w); + code_p->y_u.oi.i[0] = (CELL)FunctorLongInt; + code_p->y_u.oi.i[1] = RepAppl(cpc->rnd1)[1]; } GONEXT(oi); return code_p; @@ -1123,10 +1123,10 @@ a_wd(op_numbers opcode, yamop *code_p, int pass_no, struct PSEUDO *cpc) { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.d.d[0] = (CELL)FunctorDouble; - code_p->u.d.d[1] = RepAppl(cpc->rnd1)[1]; + code_p->y_u.d.d[0] = (CELL)FunctorDouble; + code_p->y_u.d.d[1] = RepAppl(cpc->rnd1)[1]; #if SIZEOF_DOUBLE == 2*SIZEOF_INT_P - code_p->u.d.d[2] = RepAppl(cpc->rnd1)[2]; + code_p->y_u.d.d[2] = RepAppl(cpc->rnd1)[2]; #endif } GONEXT(d); @@ -1138,8 +1138,8 @@ a_wi(op_numbers opcode, yamop *code_p, int pass_no, struct PSEUDO *cpc) { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.i.i[0] = (CELL)FunctorLongInt; - code_p->u.i.i[1] = RepAppl(cpc->rnd1)[1]; + code_p->y_u.i.i[0] = (CELL)FunctorLongInt; + code_p->y_u.i.i[1] = RepAppl(cpc->rnd1)[1]; } GONEXT(i); return code_p; @@ -1150,8 +1150,8 @@ a_nc(CELL rnd1, op_numbers opcode, int i, yamop *code_p, int pass_no) { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.sc.s = i; - code_p->u.sc.c = emit_c(rnd1); + code_p->y_u.sc.s = i; + code_p->y_u.sc.c = emit_c(rnd1); } GONEXT(sc); return code_p; @@ -1162,9 +1162,9 @@ a_unc(CELL rnd1, op_numbers opcode, op_numbers opcodew, int i, yamop *code_p, in { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.osc.opcw = emit_op(opcodew); - code_p->u.osc.s = i; - code_p->u.osc.c = emit_c(rnd1); + code_p->y_u.osc.opcw = emit_op(opcodew); + code_p->y_u.osc.s = i; + code_p->y_u.osc.c = emit_c(rnd1); } GONEXT(osc); return code_p; @@ -1175,9 +1175,9 @@ a_rf(op_numbers opcode, yamop *code_p, int pass_no, struct PSEUDO *cpc) { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.xfa.x = emit_x(cpc->rnd2); - code_p->u.xfa.f = emit_f(cpc->rnd1); - code_p->u.xfa.a = ArityOfFunctor(emit_f(cpc->rnd1)); + code_p->y_u.xfa.x = emit_x(cpc->rnd2); + code_p->y_u.xfa.f = emit_f(cpc->rnd1); + code_p->y_u.xfa.a = ArityOfFunctor(emit_f(cpc->rnd1)); } GONEXT(xfa); return code_p; @@ -1188,11 +1188,11 @@ a_rd(op_numbers opcode, yamop *code_p, int pass_no, struct PSEUDO *cpc) { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.xd.x = emit_x(cpc->rnd2); - code_p->u.xd.d[0] = (CELL)FunctorDouble; - code_p->u.xd.d[1] = RepAppl(cpc->rnd1)[1]; + code_p->y_u.xd.x = emit_x(cpc->rnd2); + code_p->y_u.xd.d[0] = (CELL)FunctorDouble; + code_p->y_u.xd.d[1] = RepAppl(cpc->rnd1)[1]; #if SIZEOF_DOUBLE == 2*SIZEOF_INT_P - code_p->u.xd.d[2] = RepAppl(cpc->rnd1)[2]; + code_p->y_u.xd.d[2] = RepAppl(cpc->rnd1)[2]; #endif } GONEXT(xd); @@ -1204,9 +1204,9 @@ a_ri(op_numbers opcode, yamop *code_p, int pass_no, struct PSEUDO *cpc) { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.xi.x = emit_x(cpc->rnd2); - code_p->u.xi.i[0] = (CELL)FunctorLongInt; - code_p->u.xi.i[1] = RepAppl(cpc->rnd1)[1]; + code_p->y_u.xi.x = emit_x(cpc->rnd2); + code_p->y_u.xi.i[0] = (CELL)FunctorLongInt; + code_p->y_u.xi.i[1] = RepAppl(cpc->rnd1)[1]; } GONEXT(xi); return code_p; @@ -1239,23 +1239,23 @@ a_rc(op_numbers opcode, yamop *code_p, int pass_no, struct intermediates *cip) s3next->nextInst->op == get_num_op)) { if (pass_no) { code_p->opc = emit_op(_get_6atoms); - code_p->u.cccccc.c1 = emit_c(cip->cpc->rnd1); - code_p->u.cccccc.c2 = emit_c(next->rnd1); - code_p->u.cccccc.c3 = emit_c(snext->rnd1); - code_p->u.cccccc.c4 = emit_c(s2next->rnd1); - code_p->u.cccccc.c5 = emit_c(s3next->rnd1); - code_p->u.cccccc.c6 = emit_c(s3next->nextInst->rnd1); + code_p->y_u.cccccc.c1 = emit_c(cip->cpc->rnd1); + code_p->y_u.cccccc.c2 = emit_c(next->rnd1); + code_p->y_u.cccccc.c3 = emit_c(snext->rnd1); + code_p->y_u.cccccc.c4 = emit_c(s2next->rnd1); + code_p->y_u.cccccc.c5 = emit_c(s3next->rnd1); + code_p->y_u.cccccc.c6 = emit_c(s3next->nextInst->rnd1); } cip->cpc = s3next->nextInst; GONEXT(cccccc); } else { if (pass_no) { code_p->opc = emit_op(_get_5atoms); - code_p->u.ccccc.c1 = emit_c(cip->cpc->rnd1); - code_p->u.ccccc.c2 = emit_c(next->rnd1); - code_p->u.ccccc.c3 = emit_c(snext->rnd1); - code_p->u.ccccc.c4 = emit_c(s2next->rnd1); - code_p->u.ccccc.c5 = emit_c(s3next->rnd1); + code_p->y_u.ccccc.c1 = emit_c(cip->cpc->rnd1); + code_p->y_u.ccccc.c2 = emit_c(next->rnd1); + code_p->y_u.ccccc.c3 = emit_c(snext->rnd1); + code_p->y_u.ccccc.c4 = emit_c(s2next->rnd1); + code_p->y_u.ccccc.c5 = emit_c(s3next->rnd1); } cip->cpc = s3next; GONEXT(ccccc); @@ -1263,10 +1263,10 @@ a_rc(op_numbers opcode, yamop *code_p, int pass_no, struct intermediates *cip) } else { if (pass_no) { code_p->opc = emit_op(_get_4atoms); - code_p->u.cccc.c1 = emit_c(cip->cpc->rnd1); - code_p->u.cccc.c2 = emit_c(next->rnd1); - code_p->u.cccc.c3 = emit_c(snext->rnd1); - code_p->u.cccc.c4 = emit_c(s2next->rnd1); + code_p->y_u.cccc.c1 = emit_c(cip->cpc->rnd1); + code_p->y_u.cccc.c2 = emit_c(next->rnd1); + code_p->y_u.cccc.c3 = emit_c(snext->rnd1); + code_p->y_u.cccc.c4 = emit_c(s2next->rnd1); } cip->cpc = s2next; GONEXT(cccc); @@ -1274,9 +1274,9 @@ a_rc(op_numbers opcode, yamop *code_p, int pass_no, struct intermediates *cip) } else { if (pass_no) { code_p->opc = emit_op(_get_3atoms); - code_p->u.ccc.c1 = emit_c(cip->cpc->rnd1); - code_p->u.ccc.c2 = emit_c(next->rnd1); - code_p->u.ccc.c3 = emit_c(snext->rnd1); + code_p->y_u.ccc.c1 = emit_c(cip->cpc->rnd1); + code_p->y_u.ccc.c2 = emit_c(next->rnd1); + code_p->y_u.ccc.c3 = emit_c(snext->rnd1); } cip->cpc = snext; GONEXT(ccc); @@ -1284,8 +1284,8 @@ a_rc(op_numbers opcode, yamop *code_p, int pass_no, struct intermediates *cip) } else { if (pass_no) { code_p->opc = emit_op(_get_2atoms); - code_p->u.cc.c1 = emit_c(cip->cpc->rnd1); - code_p->u.cc.c2 = emit_c(next->rnd1); + code_p->y_u.cc.c1 = emit_c(cip->cpc->rnd1); + code_p->y_u.cc.c2 = emit_c(next->rnd1); } cip->cpc = next; GONEXT(cc); @@ -1293,8 +1293,8 @@ a_rc(op_numbers opcode, yamop *code_p, int pass_no, struct intermediates *cip) } else { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.xc.x = emit_x(cip->cpc->rnd2); - code_p->u.xc.c = emit_c(cip->cpc->rnd1); + code_p->y_u.xc.x = emit_x(cip->cpc->rnd2); + code_p->y_u.xc.c = emit_c(cip->cpc->rnd1); } GONEXT(xc); } @@ -1307,8 +1307,8 @@ a_rb(op_numbers opcode, int *clause_has_blobsp, yamop *code_p, int pass_no, stru { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.xN.x = emit_x(cip->cpc->rnd2); - code_p->u.xN.b = AbsAppl((CELL *)(Unsigned(cip->code_addr) + cip->label_offset[cip->cpc->rnd1])); + code_p->y_u.xN.x = emit_x(cip->cpc->rnd2); + code_p->y_u.xN.b = AbsAppl((CELL *)(Unsigned(cip->code_addr) + cip->label_offset[cip->cpc->rnd1])); } *clause_has_blobsp = TRUE; GONEXT(xN); @@ -1320,8 +1320,8 @@ a_rstring(op_numbers opcode, int *clause_has_blobsp, yamop *code_p, int pass_no, { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.xu.x = emit_x(cip->cpc->rnd2); - code_p->u.xu.ut = AbsAppl((CELL *)(Unsigned(cip->code_addr) + cip->label_offset[cip->cpc->rnd1])); + code_p->y_u.xu.x = emit_x(cip->cpc->rnd2); + code_p->y_u.xu.ut = AbsAppl((CELL *)(Unsigned(cip->code_addr) + cip->label_offset[cip->cpc->rnd1])); } *clause_has_blobsp = TRUE; GONEXT(xu); @@ -1333,8 +1333,8 @@ a_dbt(op_numbers opcode, int *clause_has_dbtermp, yamop *code_p, int pass_no, st { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.xD.x = emit_x(cip->cpc->rnd2); - code_p->u.xD.D = cip->cpc->rnd1; + code_p->y_u.xD.x = emit_x(cip->cpc->rnd2); + code_p->y_u.xD.D = cip->cpc->rnd1; add_to_dbtermsl(cip, cip->cpc->rnd1); } *clause_has_dbtermp = TRUE; @@ -1347,7 +1347,7 @@ a_r(CELL arnd2, op_numbers opcode, yamop *code_p, int pass_no) { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.x.x = emit_x(arnd2); + code_p->y_u.x.x = emit_x(arnd2); } GONEXT(x); return code_p; @@ -1370,7 +1370,7 @@ a_l(CELL rnd1, op_numbers opcode, yamop *code_p, int pass_no, struct intermediat { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.l.l = emit_a(Unsigned(cip->code_addr) + cip->label_offset[rnd1]); + code_p->y_u.l.l = emit_a(Unsigned(cip->code_addr) + cip->label_offset[rnd1]); } GONEXT(l); return code_p; @@ -1381,7 +1381,7 @@ a_il(CELL rnd1, op_numbers opcode, yamop *code_p, int pass_no, struct intermedia { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.l.l = emit_ilabel(rnd1, cip); + code_p->y_u.l.l = emit_ilabel(rnd1, cip); } GONEXT(l); return code_p; @@ -1442,21 +1442,21 @@ a_p(op_numbers opcode, clause_info *clinfo, yamop *code_p, int pass_no, struct i siglongjmp(cip->CompilerBotch, 1); } else code_p->opc = emit_op(_call_c_wfail); - code_p->u.slp.s = + code_p->y_u.slp.s = emit_count(-Signed(RealEnvSize) - CELLSIZE * cip->cpc->rnd2); - code_p->u.slp.l = emit_fail(cip); - code_p->u.slp.p = + code_p->y_u.slp.l = emit_fail(cip); + code_p->y_u.slp.p = emit_pe(RepPredProp(fe)); } GONEXT(slp); } else { if (pass_no) { - code_p->u.Osbpp.p = RepPredProp(fe); + code_p->y_u.Osbpp.p = RepPredProp(fe); if (Flags & UserCPredFlag) { code_p->opc = emit_op(_call_usercpred); } else { if (RepPredProp(fe)->FunctorOfPred == FunctorExecuteInMod) { - code_p->u.Osbmp.mod = cip->cpc->rnd4; + code_p->y_u.Osbmp.mod = cip->cpc->rnd4; code_p->opc = emit_op(_p_execute); } else if (RepPredProp(fe)->FunctorOfPred == FunctorExecute2InMod) { code_p->opc = emit_op(_p_execute2); @@ -1464,14 +1464,14 @@ a_p(op_numbers opcode, clause_info *clinfo, yamop *code_p, int pass_no, struct i code_p->opc = emit_op(_call_cpred); } } - code_p->u.Osbpp.s = emit_count(-Signed(RealEnvSize) - CELLSIZE + code_p->y_u.Osbpp.s = emit_count(-Signed(RealEnvSize) - CELLSIZE * (cip->cpc->rnd2)); - code_p->u.Osbpp.p0 = clinfo->CurrentPred; + code_p->y_u.Osbpp.p0 = clinfo->CurrentPred; if (cip->cpc->rnd2) { - code_p->u.Osbpp.bmap = emit_bmlabel(cip->cpc->arnds[1], cip); + code_p->y_u.Osbpp.bmap = emit_bmlabel(cip->cpc->arnds[1], cip); } else { /* there is no bitmap as there are no variables in the environment */ - code_p->u.Osbpp.bmap = NULL; + code_p->y_u.Osbpp.bmap = NULL; } } GONEXT(Osbpp); @@ -1494,15 +1494,15 @@ a_p(op_numbers opcode, clause_info *clinfo, yamop *code_p, int pass_no, struct i } if (opcode == _call) { if (pass_no) { - code_p->u.Osbpp.s = emit_count(-Signed(RealEnvSize) - CELLSIZE * + code_p->y_u.Osbpp.s = emit_count(-Signed(RealEnvSize) - CELLSIZE * cip->cpc->rnd2); - code_p->u.Osbpp.p = RepPredProp(fe); - code_p->u.Osbpp.p0 = clinfo->CurrentPred; + code_p->y_u.Osbpp.p = RepPredProp(fe); + code_p->y_u.Osbpp.p0 = clinfo->CurrentPred; if (cip->cpc->rnd2) - code_p->u.Osbpp.bmap = emit_bmlabel(cip->cpc->arnds[1], cip); + code_p->y_u.Osbpp.bmap = emit_bmlabel(cip->cpc->arnds[1], cip); else /* there is no bitmap as there are no variables in the environment */ - code_p->u.Osbpp.bmap = NULL; + code_p->y_u.Osbpp.bmap = NULL; } GONEXT(Osbpp); } @@ -1512,13 +1512,13 @@ a_p(op_numbers opcode, clause_info *clinfo, yamop *code_p, int pass_no, struct i if (Flags & CPredFlag) { code_p->opc = emit_op(_execute_cpred); } - code_p->u.pp.p = RepPredProp(fe); - code_p->u.pp.p0 = clinfo->CurrentPred; + code_p->y_u.pp.p = RepPredProp(fe); + code_p->y_u.pp.p0 = clinfo->CurrentPred; } GONEXT(pp); } else { if (pass_no) - code_p->u.p.p = RepPredProp(fe); + code_p->y_u.p.p = RepPredProp(fe); GONEXT(p); } return code_p; @@ -1543,15 +1543,15 @@ a_empty_call(clause_info *clinfo, yamop *code_p, int pass_no, struct intermedia } if (pass_no) { PredEntry *pe = RepPredProp(Yap_GetPredPropByAtom(AtomTrue,0)); - code_p->u.Osbpp.s = emit_count(-Signed(RealEnvSize) - CELLSIZE * + code_p->y_u.Osbpp.s = emit_count(-Signed(RealEnvSize) - CELLSIZE * cip->cpc->rnd2); - code_p->u.Osbpp.p = pe; - code_p->u.Osbpp.p0 = clinfo->CurrentPred; + code_p->y_u.Osbpp.p = pe; + code_p->y_u.Osbpp.p0 = clinfo->CurrentPred; if (cip->cpc->rnd2) - code_p->u.Osbpp.bmap = emit_bmlabel(cip->cpc->rnd1, cip); + code_p->y_u.Osbpp.bmap = emit_bmlabel(cip->cpc->rnd1, cip); else /* there is no bitmap as there are no variables in the environment */ - code_p->u.Osbpp.bmap = NULL; + code_p->y_u.Osbpp.bmap = NULL; } GONEXT(Osbpp); return code_p; @@ -1562,10 +1562,10 @@ a_cnp(op_numbers opcode, yamop *code_p, int pass_no, struct intermediates *cip) { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.aFlp.n = 0; - code_p->u.aFlp.native = NULL; - code_p->u.aFlp.native_next = 0; - code_p->u.aFlp.p = cip->CurrentPred; + code_p->y_u.aFlp.n = 0; + code_p->y_u.aFlp.native = NULL; + code_p->y_u.aFlp.native_next = 0; + code_p->y_u.aFlp.p = cip->CurrentPred; } GONEXT(aFlp); return code_p; @@ -1577,7 +1577,7 @@ a_pl(op_numbers opcode, PredEntry *pred, yamop *code_p, int pass_no) { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.p.p = pred; + code_p->y_u.p.p = pred; } GONEXT(p); return code_p; @@ -1638,21 +1638,21 @@ a_bfunc(CELL pred, clause_info *clinfo, yamop *code_p, int pass_no, struct inter if (is_y_var) { if (pass_no) { code_p->opc = emit_op(_call_bfunc_yy); - code_p->u.plyys.p = RepPredProp(((Prop)pred)); - code_p->u.plyys.f = emit_fail(cip); - code_p->u.plyys.y1 = v1; - code_p->u.plyys.y2 = emit_yreg(var_offset); - code_p->u.plyys.flags = compile_cmp_flags(RepAtom(NameOfFunctor(RepPredProp(((Prop)pred))->FunctorOfPred))->StrOfAE); + code_p->y_u.plyys.p = RepPredProp(((Prop)pred)); + code_p->y_u.plyys.f = emit_fail(cip); + code_p->y_u.plyys.y1 = v1; + code_p->y_u.plyys.y2 = emit_yreg(var_offset); + code_p->y_u.plyys.flags = compile_cmp_flags(RepAtom(NameOfFunctor(RepPredProp(((Prop)pred))->FunctorOfPred))->StrOfAE); } GONEXT(plyys); } else { if (pass_no) { code_p->opc = emit_op(_call_bfunc_yx); - code_p->u.plxys.p = RepPredProp(((Prop)pred)); - code_p->u.plxys.f = emit_fail(cip); - code_p->u.plxys.x = emit_xreg(var_offset); - code_p->u.plxys.y = v1; - code_p->u.plxys.flags = compile_cmp_flags(RepAtom(NameOfFunctor(RepPredProp(((Prop)pred))->FunctorOfPred))->StrOfAE); + code_p->y_u.plxys.p = RepPredProp(((Prop)pred)); + code_p->y_u.plxys.f = emit_fail(cip); + code_p->y_u.plxys.x = emit_xreg(var_offset); + code_p->y_u.plxys.y = v1; + code_p->y_u.plxys.flags = compile_cmp_flags(RepAtom(NameOfFunctor(RepPredProp(((Prop)pred))->FunctorOfPred))->StrOfAE); } GONEXT(plxys); } @@ -1667,21 +1667,21 @@ a_bfunc(CELL pred, clause_info *clinfo, yamop *code_p, int pass_no, struct inter if (is_y_var) { if (pass_no) { code_p->opc = emit_op(_call_bfunc_xy); - code_p->u.plxys.p = RepPredProp(((Prop)pred)); - code_p->u.plxys.f = emit_fail(cip); - code_p->u.plxys.x = x1; - code_p->u.plxys.y = emit_yreg(var_offset); - code_p->u.plxys.flags = compile_cmp_flags(RepAtom(NameOfFunctor(RepPredProp(((Prop)pred))->FunctorOfPred))->StrOfAE); + code_p->y_u.plxys.p = RepPredProp(((Prop)pred)); + code_p->y_u.plxys.f = emit_fail(cip); + code_p->y_u.plxys.x = x1; + code_p->y_u.plxys.y = emit_yreg(var_offset); + code_p->y_u.plxys.flags = compile_cmp_flags(RepAtom(NameOfFunctor(RepPredProp(((Prop)pred))->FunctorOfPred))->StrOfAE); } GONEXT(plxys); } else { if (pass_no) { code_p->opc = emit_op(_call_bfunc_xx); - code_p->u.plxxs.p = RepPredProp(((Prop)pred)); - code_p->u.plxxs.f = emit_fail(cip); - code_p->u.plxxs.x1 = x1; - code_p->u.plxxs.x2 = emit_xreg(var_offset); - code_p->u.plxxs.flags = compile_cmp_flags(RepAtom(NameOfFunctor(RepPredProp(((Prop)pred))->FunctorOfPred))->StrOfAE); + code_p->y_u.plxxs.p = RepPredProp(((Prop)pred)); + code_p->y_u.plxxs.f = emit_fail(cip); + code_p->y_u.plxxs.x1 = x1; + code_p->y_u.plxxs.x2 = emit_xreg(var_offset); + code_p->y_u.plxxs.flags = compile_cmp_flags(RepAtom(NameOfFunctor(RepPredProp(((Prop)pred))->FunctorOfPred))->StrOfAE); } GONEXT(plxxs); } @@ -1694,7 +1694,7 @@ a_igl(CELL rnd1, op_numbers opcode, yamop *code_p, int pass_no, struct intermedi { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.l.l = emit_ilabel(rnd1, cip); + code_p->y_u.l.l = emit_ilabel(rnd1, cip); } GONEXT(l); return code_p; @@ -1705,9 +1705,9 @@ a_xigl(op_numbers opcode, yamop *code_p, int pass_no, struct PSEUDO *cpc) { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.xll.x = emit_x(cpc->rnd2); - code_p->u.xll.l1 = emit_a(cpc->rnd1); - code_p->u.xll.l2 = NEXTOP(code_p,xll); + code_p->y_u.xll.x = emit_x(cpc->rnd2); + code_p->y_u.xll.l1 = emit_a(cpc->rnd1); + code_p->y_u.xll.l2 = NEXTOP(code_p,xll); } GONEXT(xll); return code_p; @@ -1769,11 +1769,11 @@ a_4sw(op_numbers opcode, yamop *code_p, int pass_no, struct intermediates *cip) CELL *ars = (CELL *)(cip->cpc->nextInst->nextInst->rnd2); code_p->opc = emit_op(_switch_list_nl); seq_ptr = cip->cpc->arnds; - code_p->u.ollll.pop = ((yamop *)(seq_ptr[0]))->opc; - code_p->u.ollll.l1 = emit_ilabel(seq_ptr[0], cip); - code_p->u.ollll.l2 = emit_ilabel(ars[1], cip); - code_p->u.ollll.l3 = emit_ilabel(seq_ptr[2], cip); - code_p->u.ollll.l4 = emit_ilabel(seq_ptr[3], cip); + code_p->y_u.ollll.pop = ((yamop *)(seq_ptr[0]))->opc; + code_p->y_u.ollll.l1 = emit_ilabel(seq_ptr[0], cip); + code_p->y_u.ollll.l2 = emit_ilabel(ars[1], cip); + code_p->y_u.ollll.l3 = emit_ilabel(seq_ptr[2], cip); + code_p->y_u.ollll.l4 = emit_ilabel(seq_ptr[3], cip); if (cip->CurrentPred->PredFlags & LogUpdatePredFlag) { LogUpdIndex *icl = ClauseCodeToLogUpdIndex(ars); @@ -1793,10 +1793,10 @@ a_4sw(op_numbers opcode, yamop *code_p, int pass_no, struct intermediates *cip) if (pass_no) { code_p->opc = emit_op(opcode); seq_ptr = cip->cpc->arnds; - code_p->u.llll.l1 = emit_ilabel(seq_ptr[0], cip); - code_p->u.llll.l2 = emit_ilabel(seq_ptr[1], cip); - code_p->u.llll.l3 = emit_ilabel(seq_ptr[2], cip); - code_p->u.llll.l4 = emit_ilabel(seq_ptr[3], cip); + code_p->y_u.llll.l1 = emit_ilabel(seq_ptr[0], cip); + code_p->y_u.llll.l2 = emit_ilabel(seq_ptr[1], cip); + code_p->y_u.llll.l3 = emit_ilabel(seq_ptr[2], cip); + code_p->y_u.llll.l4 = emit_ilabel(seq_ptr[3], cip); } GONEXT(llll); } @@ -1810,13 +1810,13 @@ a_4sw_x(op_numbers opcode, yamop *code_p, int pass_no, struct intermediates *cip if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.xllll.x = emit_x(cip->cpc->rnd2); + code_p->y_u.xllll.x = emit_x(cip->cpc->rnd2); cip->cpc = cip->cpc->nextInst; seq_ptr = cip->cpc->arnds; - code_p->u.xllll.l1 = emit_ilabel(seq_ptr[0], cip); - code_p->u.xllll.l2 = emit_ilabel(seq_ptr[1], cip); - code_p->u.xllll.l3 = emit_ilabel(seq_ptr[2], cip); - code_p->u.xllll.l4 = emit_ilabel(seq_ptr[3], cip); + code_p->y_u.xllll.l1 = emit_ilabel(seq_ptr[0], cip); + code_p->y_u.xllll.l2 = emit_ilabel(seq_ptr[1], cip); + code_p->y_u.xllll.l3 = emit_ilabel(seq_ptr[2], cip); + code_p->y_u.xllll.l4 = emit_ilabel(seq_ptr[3], cip); } else { /* skip one */ cip->cpc = cip->cpc->nextInst; @@ -1832,13 +1832,13 @@ a_4sw_s(op_numbers opcode, yamop *code_p, int pass_no, struct intermediates *cip if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.sllll.s = cip->cpc->rnd2; + code_p->y_u.sllll.s = cip->cpc->rnd2; cip->cpc = cip->cpc->nextInst; seq_ptr = cip->cpc->arnds; - code_p->u.sllll.l1 = emit_ilabel(seq_ptr[0], cip); - code_p->u.sllll.l2 = emit_ilabel(seq_ptr[1], cip); - code_p->u.sllll.l3 = emit_ilabel(seq_ptr[2], cip); - code_p->u.sllll.l4 = emit_ilabel(seq_ptr[3], cip); + code_p->y_u.sllll.l1 = emit_ilabel(seq_ptr[0], cip); + code_p->y_u.sllll.l2 = emit_ilabel(seq_ptr[1], cip); + code_p->y_u.sllll.l3 = emit_ilabel(seq_ptr[2], cip); + code_p->y_u.sllll.l4 = emit_ilabel(seq_ptr[3], cip); } else { /* skip one */ cip->cpc = cip->cpc->nextInst; @@ -1884,8 +1884,8 @@ a_hx(op_numbers opcode, union clause_obj *cl_u, int log_update, yamop *code_p, i imax = cip->cpc->rnd1; if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.sssl.s = emit_c(imax); - code_p->u.sssl.l = emit_a(cip->cpc->rnd2); + code_p->y_u.sssl.s = emit_c(imax); + code_p->y_u.sssl.l = emit_a(cip->cpc->rnd2); if (log_update) { init_log_upd_table(ClauseCodeToLogUpdIndex(cip->cpc->rnd2), cl_u); } else { @@ -1901,8 +1901,8 @@ a_hx(op_numbers opcode, union clause_obj *cl_u, int log_update, yamop *code_p, i } seq_ptr += 2; } - code_p->u.sssl.e = j; - code_p->u.sssl.w = 0; + code_p->y_u.sssl.e = j; + code_p->y_u.sssl.w = 0; } GONEXT(sssl); return code_p; @@ -1917,9 +1917,9 @@ a_if(op_numbers opcode, union clause_obj *cl_u, int log_update, yamop *code_p, i imax = cip->cpc->rnd1; if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.sssl.s = code_p->u.sssl.e = emit_count(imax); - code_p->u.sssl.w = 0; - code_p->u.sssl.l = emit_a(cip->cpc->rnd2); + code_p->y_u.sssl.s = code_p->y_u.sssl.e = emit_count(imax); + code_p->y_u.sssl.w = 0; + code_p->y_u.sssl.l = emit_a(cip->cpc->rnd2); if (log_update) { init_log_upd_table(ClauseCodeToLogUpdIndex(cip->cpc->rnd2), cl_u); } else { @@ -1946,10 +1946,10 @@ a_ifnot(op_numbers opcode, yamop *code_p, int pass_no, struct intermediates *cip CELL *seq_ptr = cip->cpc->arnds; if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.clll.c = seq_ptr[0]; /* tag */ - code_p->u.clll.l1 = emit_ilabel(seq_ptr[1], cip); /* success point */ - code_p->u.clll.l2 = emit_ilabel(seq_ptr[2], cip); /* fail point */ - code_p->u.clll.l3 = emit_ilabel(seq_ptr[3], cip); /* delay point */ + code_p->y_u.clll.c = seq_ptr[0]; /* tag */ + code_p->y_u.clll.l1 = emit_ilabel(seq_ptr[1], cip); /* success point */ + code_p->y_u.clll.l2 = emit_ilabel(seq_ptr[2], cip); /* fail point */ + code_p->y_u.clll.l3 = emit_ilabel(seq_ptr[3], cip); /* delay point */ } GONEXT(clll); return code_p; @@ -1995,11 +1995,11 @@ a_try(op_numbers opcode, CELL lab, CELL opr, int nofalts, int hascut, yamop *cod Yap_NewCps++; Yap_LiveCps++; #endif - newcp->u.OtaLl.n = NULL; + newcp->y_u.OtaLl.n = NULL; *cip->current_try_lab = newcp; if (opcode == _try_clause) { newcp->opc = emit_op(_try_logical); - newcp->u.OtaLl.s = emit_count(opr); + newcp->y_u.OtaLl.s = emit_count(opr); } else if (opcode == _retry) { if (ap->PredFlags & CountPredFlag) newcp->opc = emit_op(_count_retry_logical); @@ -2007,7 +2007,7 @@ a_try(op_numbers opcode, CELL lab, CELL opr, int nofalts, int hascut, yamop *cod newcp->opc = emit_op(_profiled_retry_logical); else newcp->opc = emit_op(_retry_logical); - newcp->u.OtaLl.s = emit_count(opr); + newcp->y_u.OtaLl.s = emit_count(opr); } else { /* trust */ if (ap->PredFlags & CountPredFlag) @@ -2016,11 +2016,11 @@ a_try(op_numbers opcode, CELL lab, CELL opr, int nofalts, int hascut, yamop *cod newcp->opc = emit_op(_profiled_trust_logical); else newcp->opc = emit_op(_trust_logical); - newcp->u.OtILl.block = (LogUpdIndex *)(cip->code_addr); + newcp->y_u.OtILl.block = (LogUpdIndex *)(cip->code_addr); *cip->current_trust_lab = newcp; } - newcp->u.OtaLl.d = ClauseCodeToLogUpdClause(emit_a(lab)); - cip->current_try_lab = &(newcp->u.OtaLl.n); + newcp->y_u.OtaLl.d = ClauseCodeToLogUpdClause(emit_a(lab)); + cip->current_try_lab = &(newcp->y_u.OtaLl.n); } return code_p; } @@ -2030,14 +2030,14 @@ a_try(op_numbers opcode, CELL lab, CELL opr, int nofalts, int hascut, yamop *cod if (opcode == _try_clause) { if (pass_no) { code_p->opc = emit_op(_try_clause2); - code_p->u.l.l = emit_a(lab); + code_p->y_u.l.l = emit_a(lab); } GONEXT(l); return code_p; } else if (opcode == _retry) { if (pass_no) { code_p->opc = emit_op(_retry2); - code_p->u.l.l = emit_a(lab); + code_p->y_u.l.l = emit_a(lab); } GONEXT(l); return code_p; @@ -2046,14 +2046,14 @@ a_try(op_numbers opcode, CELL lab, CELL opr, int nofalts, int hascut, yamop *cod if (opcode == _try_clause) { if (pass_no) { code_p->opc = emit_op(_try_clause3); - code_p->u.l.l = emit_a(lab); + code_p->y_u.l.l = emit_a(lab); } GONEXT(l); return code_p; } else if (opcode == _retry) { if (pass_no) { code_p->opc = emit_op(_retry3); - code_p->u.l.l = emit_a(lab); + code_p->y_u.l.l = emit_a(lab); } GONEXT(l); return code_p; @@ -2062,14 +2062,14 @@ a_try(op_numbers opcode, CELL lab, CELL opr, int nofalts, int hascut, yamop *cod if (opcode == _try_clause) { if (pass_no) { code_p->opc = emit_op(_try_clause4); - code_p->u.l.l = emit_a(lab); + code_p->y_u.l.l = emit_a(lab); } GONEXT(l); return code_p; } else if (opcode == _retry) { if (pass_no) { code_p->opc = emit_op(_retry4); - code_p->u.l.l = emit_a(lab); + code_p->y_u.l.l = emit_a(lab); } GONEXT(l); return code_p; @@ -2078,11 +2078,11 @@ a_try(op_numbers opcode, CELL lab, CELL opr, int nofalts, int hascut, yamop *cod #endif if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.Otapl.d = emit_a(lab); - code_p->u.Otapl.s = emit_count(opr); - code_p->u.Otapl.p = ap; + code_p->y_u.Otapl.d = emit_a(lab); + code_p->y_u.Otapl.s = emit_count(opr); + code_p->y_u.Otapl.p = ap; #ifdef TABLING - code_p->u.Otapl.te = ap->TableOfPred; + code_p->y_u.Otapl.te = ap->TableOfPred; #endif #ifdef YAPOR INIT_YAMOP_LTT(code_p, nofalts); @@ -2105,9 +2105,9 @@ a_either(op_numbers opcode, CELL opr, CELL lab, yamop *code_p, int pass_no, stru { if (pass_no) { code_p->opc = emit_op(opcode); - code_p->u.Osblp.s = emit_count(opr); - code_p->u.Osblp.l = emit_a(lab); - code_p->u.Osblp.p0 = cip->CurrentPred; + code_p->y_u.Osblp.s = emit_count(opr); + code_p->y_u.Osblp.l = emit_a(lab); + code_p->y_u.Osblp.p0 = cip->CurrentPred; #ifdef YAPOR INIT_YAMOP_LTT(code_p, nofalts); if (cip->clause_has_cut) @@ -2115,10 +2115,10 @@ a_either(op_numbers opcode, CELL opr, CELL lab, yamop *code_p, int pass_no, stru if (cip->CurrentPred->PredFlags & SequentialPredFlag) PUT_YAMOP_SEQ(code_p); if(opcode != _or_last) { - code_p->u.Osblp.bmap = emit_bmlabel(cip->cpc->arnds[1], cip); + code_p->y_u.Osblp.bmap = emit_bmlabel(cip->cpc->arnds[1], cip); } #else - code_p->u.Osblp.bmap = emit_bmlabel(cip->cpc->arnds[1], cip); + code_p->y_u.Osblp.bmap = emit_bmlabel(cip->cpc->arnds[1], cip); #endif /* YAPOR */ } GONEXT(Osblp); @@ -2451,7 +2451,7 @@ a_f2(cmp_op_info *cmp_info, yamop *code_p, int pass_no, struct intermediates *ci if (opc <= _primitive) { if (is_y_var) { if (pass_no) { - code_p->u.yl.y = emit_y(ve); + code_p->y_u.yl.y = emit_y(ve); switch (opc) { case _atom: code_p->opc = opcode(_p_atom_y); @@ -2487,13 +2487,13 @@ a_f2(cmp_op_info *cmp_info, yamop *code_p, int pass_no, struct intermediates *ci code_p->opc = opcode(_p_primitive_y); break; } - code_p->u.yl.F = emit_fail(cip); + code_p->y_u.yl.F = emit_fail(cip); } GONEXT(yl); return code_p; } else { if (pass_no) { - code_p->u.xl.x = emit_x(xpos); + code_p->y_u.xl.x = emit_x(xpos); switch (opc) { case _atom: code_p->opc = opcode(_p_atom_x); @@ -2529,7 +2529,7 @@ a_f2(cmp_op_info *cmp_info, yamop *code_p, int pass_no, struct intermediates *ci code_p->opc = opcode(_p_primitive_x); break; } - code_p->u.xl.F = emit_fail(cip); + code_p->y_u.xl.F = emit_fail(cip); } GONEXT(xl); return code_p; @@ -2552,18 +2552,18 @@ a_f2(cmp_op_info *cmp_info, yamop *code_p, int pass_no, struct intermediates *ci if (is_y_nvar) { if (pass_no) { code_p->opc = emit_op(_p_func2f_yy); - code_p->u.yyx.y1 = emit_y(ve); - code_p->u.yyx.y2 = emit_y(nve); - code_p->u.yyx.x = cmp_info->x1_arg; + code_p->y_u.yyx.y1 = emit_y(ve); + code_p->y_u.yyx.y2 = emit_y(nve); + code_p->y_u.yyx.x = cmp_info->x1_arg; } GONEXT(yyx); return code_p; } else { if (pass_no) { code_p->opc = emit_op(_p_func2f_yx); - code_p->u.yxx.y = emit_y(ve); - code_p->u.yxx.x1 = emit_x(nxpos); - code_p->u.yxx.x2 = cmp_info->x1_arg; + code_p->y_u.yxx.y = emit_y(ve); + code_p->y_u.yxx.x1 = emit_x(nxpos); + code_p->y_u.yxx.x2 = cmp_info->x1_arg; } GONEXT(yxx); return code_p; @@ -2572,18 +2572,18 @@ a_f2(cmp_op_info *cmp_info, yamop *code_p, int pass_no, struct intermediates *ci if (is_y_nvar) { if (pass_no) { code_p->opc = emit_op(_p_func2f_xy); - code_p->u.xxy.x1 = emit_x(xpos); - code_p->u.xxy.y2 = emit_y(nve); - code_p->u.xxy.x = cmp_info->x1_arg; + code_p->y_u.xxy.x1 = emit_x(xpos); + code_p->y_u.xxy.y2 = emit_y(nve); + code_p->y_u.xxy.x = cmp_info->x1_arg; } GONEXT(xxy); return code_p; } else { if (pass_no) { code_p->opc = emit_op(_p_func2f_xx); - code_p->u.xxx.x1 = emit_x(xpos); - code_p->u.xxx.x2 = emit_x(nxpos); - code_p->u.xxx.x = cmp_info->x1_arg; + code_p->y_u.xxx.x1 = emit_x(xpos); + code_p->y_u.xxx.x2 = emit_x(nxpos); + code_p->y_u.xxx.x = cmp_info->x1_arg; } GONEXT(xxx); return code_p; @@ -2626,9 +2626,9 @@ a_f2(cmp_op_info *cmp_info, yamop *code_p, int pass_no, struct intermediates *ci code_p->opc = emit_op(_p_func2s_y_vv); break; } - code_p->u.yxx.y = emit_y(ve); - code_p->u.yxx.x1 = cmp_info->x1_arg; - code_p->u.yxx.x2 = cmp_info->x2_arg; + code_p->y_u.yxx.y = emit_y(ve); + code_p->y_u.yxx.x1 = cmp_info->x1_arg; + code_p->y_u.yxx.x2 = cmp_info->x2_arg; } GONEXT(yxx); break; @@ -2674,9 +2674,9 @@ a_f2(cmp_op_info *cmp_info, yamop *code_p, int pass_no, struct intermediates *ci code_p->opc = emit_op(_p_func2s_y_cv); break; } - code_p->u.yxn.y = emit_y(ve); - code_p->u.yxn.c = cmp_info->c_arg; - code_p->u.yxn.xi = cmp_info->x1_arg; + code_p->y_u.yxn.y = emit_y(ve); + code_p->y_u.yxn.c = cmp_info->c_arg; + code_p->y_u.yxn.xi = cmp_info->x1_arg; } GONEXT(yxn); break; @@ -2728,9 +2728,9 @@ a_f2(cmp_op_info *cmp_info, yamop *code_p, int pass_no, struct intermediates *ci code_p->opc = emit_op(_p_func2s_y_vc); break; } - code_p->u.yxn.y = emit_y(ve); - code_p->u.yxn.c = cmp_info->c_arg; - code_p->u.yxn.xi = cmp_info->x1_arg; + code_p->y_u.yxn.y = emit_y(ve); + code_p->y_u.yxn.c = cmp_info->c_arg; + code_p->y_u.yxn.xi = cmp_info->x1_arg; } GONEXT(yxn); break; @@ -2771,9 +2771,9 @@ a_f2(cmp_op_info *cmp_info, yamop *code_p, int pass_no, struct intermediates *ci code_p->opc = emit_op(_p_func2s_vv); break; } - code_p->u.xxx.x = emit_x(xpos); - code_p->u.xxx.x1 = cmp_info->x1_arg; - code_p->u.xxx.x2 = cmp_info->x2_arg; + code_p->y_u.xxx.x = emit_x(xpos); + code_p->y_u.xxx.x1 = cmp_info->x1_arg; + code_p->y_u.xxx.x2 = cmp_info->x2_arg; } GONEXT(xxx); break; @@ -2819,9 +2819,9 @@ a_f2(cmp_op_info *cmp_info, yamop *code_p, int pass_no, struct intermediates *ci code_p->opc = emit_op(_p_func2s_cv); break; } - code_p->u.xxn.x = emit_x(xpos); - code_p->u.xxn.c = cmp_info->c_arg; - code_p->u.xxn.xi = cmp_info->x1_arg; + code_p->y_u.xxn.x = emit_x(xpos); + code_p->y_u.xxn.c = cmp_info->c_arg; + code_p->y_u.xxn.xi = cmp_info->x1_arg; } GONEXT(xxn); break; @@ -2873,9 +2873,9 @@ a_f2(cmp_op_info *cmp_info, yamop *code_p, int pass_no, struct intermediates *ci code_p->opc = emit_op(_p_func2s_vc); break; } - code_p->u.xxn.x = emit_x(xpos); - code_p->u.xxn.c = cmp_info->c_arg; - code_p->u.xxn.xi = cmp_info->x1_arg; + code_p->y_u.xxn.x = emit_x(xpos); + code_p->y_u.xxn.c = cmp_info->c_arg; + code_p->y_u.xxn.xi = cmp_info->x1_arg; } GONEXT(xxn); break; @@ -3937,24 +3937,24 @@ Yap_InitComma(void) { yamop *code_p = COMMA_CODE; code_p->opc = opcode(_call); - code_p->u.Osbpp.s = emit_count(-Signed(RealEnvSize) - sizeof(CELL) * 3); - code_p->u.Osbpp.p = - code_p->u.Osbpp.p0 = + code_p->y_u.Osbpp.s = emit_count(-Signed(RealEnvSize) - sizeof(CELL) * 3); + code_p->y_u.Osbpp.p = + code_p->y_u.Osbpp.p0 = RepPredProp(PredPropByFunc(FunctorComma,0)); - code_p->u.Osbpp.bmap = NULL; + code_p->y_u.Osbpp.bmap = NULL; GONEXT(Osbpp); code_p->opc = opcode(_p_execute_tail); - code_p->u.Osbmp.s = emit_count(-Signed(RealEnvSize)-3*sizeof(CELL)); - code_p->u.Osbmp.bmap = NULL; - code_p->u.Osbmp.mod = + code_p->y_u.Osbmp.s = emit_count(-Signed(RealEnvSize)-3*sizeof(CELL)); + code_p->y_u.Osbmp.bmap = NULL; + code_p->y_u.Osbmp.mod = MkAtomTerm(AtomUser); - code_p->u.Osbmp.p0 = + code_p->y_u.Osbmp.p0 = RepPredProp(PredPropByFunc(FunctorComma,0)); GONEXT(Osbmp); code_p->opc = emit_op(_deallocate); - code_p->u.p.p = PredMetaCall; + code_p->y_u.p.p = PredMetaCall; GONEXT(p); code_p->opc = emit_op(_procceed); - code_p->u.p.p = PredMetaCall; + code_p->y_u.p.p = PredMetaCall; GONEXT(p); } diff --git a/C/c_interface.c b/C/c_interface.c index 298f2e05c..8ce538322 100755 --- a/C/c_interface.c +++ b/C/c_interface.c @@ -463,7 +463,7 @@ current_arity(void) { CACHE_REGS if (P && PREVOP(P,Osbpp)->opc == Yap_opcode(_call_usercpred)) { - return PREVOP(P,Osbpp)->u.Osbpp.p->ArityOfPE; + return PREVOP(P,Osbpp)->y_u.Osbpp.p->ArityOfPE; } else { return 0; } @@ -476,7 +476,7 @@ doexpand(UInt sz) UInt arity; if (P && PREVOP(P,Osbpp)->opc == Yap_opcode(_call_usercpred)) { - arity = PREVOP(P,Osbpp)->u.Osbpp.p->ArityOfPE; + arity = PREVOP(P,Osbpp)->y_u.Osbpp.p->ArityOfPE; } else { arity = 0; } @@ -1068,7 +1068,7 @@ YAP_ExtraSpaceCut(void) void *ptr; BACKUP_B(); - ptr = (void *)(((CELL *)(Yap_REGS.CUT_C_TOP))-(((yamop *)Yap_REGS.CUT_C_TOP->try_userc_cut_yamop)->u.OtapFs.extra)); + ptr = (void *)(((CELL *)(Yap_REGS.CUT_C_TOP))-(((yamop *)Yap_REGS.CUT_C_TOP->try_userc_cut_yamop)->y_u.OtapFs.extra)); RECOVER_B(); return(ptr); @@ -1083,7 +1083,7 @@ YAP_ExtraSpace(void) BACKUP_H(); /* find a pointer to extra space allocable */ - ptr = (void *)((CELL *)(B+1)+P->u.OtapFs.s); + ptr = (void *)((CELL *)(B+1)+P->y_u.OtapFs.s); B->cp_h = HR; RECOVER_H(); diff --git a/C/cdmgr.c b/C/cdmgr.c index 48f176c32..f37df2a4d 100644 --- a/C/cdmgr.c +++ b/C/cdmgr.c @@ -537,14 +537,14 @@ PredForChoicePt(yamop *p_code) { case _Nstop: return NULL; case _jump: - p_code = p_code->u.l.l; + p_code = p_code->y_u.l.l; break; case _retry_me: case _trust_me: - return p_code->u.Otapl.p; + return p_code->y_u.Otapl.p; case _retry_exo: case _retry_all_exo: - return p_code->u.lp.p; + return p_code->y_u.lp.p; case _try_logical: case _retry_logical: case _trust_logical: @@ -552,7 +552,7 @@ PredForChoicePt(yamop *p_code) { case _count_trust_logical: case _profiled_retry_logical: case _profiled_trust_logical: - return p_code->u.OtaLl.d->ClPred; + return p_code->y_u.OtaLl.d->ClPred; #ifdef TABLING case _trie_trust_var: case _trie_retry_var: @@ -596,19 +596,19 @@ PredForChoicePt(yamop *p_code) { /* compile error --> return ENV_ToP(gc_B->cp_cp); */ #endif /* TABLING */ case _or_else: - if (p_code == p_code->u.Osblp.l) { + if (p_code == p_code->y_u.Osblp.l) { /* repeat */ Atom at = AtomRepeatSpace; return RepPredProp(PredPropByAtom(at, PROLOG_MODULE)); } else { - return p_code->u.Osblp.p0; + return p_code->y_u.Osblp.p0; } break; case _or_last: #ifdef YAPOR - return p_code->u.Osblp.p0; + return p_code->y_u.Osblp.p0; #else - return p_code->u.p.p; + return p_code->y_u.p.p; #endif /* YAPOR */ break; case _count_retry_me: @@ -619,7 +619,7 @@ PredForChoicePt(yamop *p_code) { p_code = NEXTOP(p_code,l); break; default: - return p_code->u.Otapl.p; + return p_code->y_u.Otapl.p; } } return NULL; @@ -1040,7 +1040,7 @@ Yap_IPred(PredEntry *p, UInt NSlots, yamop *next_pc) IPred(p, NSlots, next_pc); } -#define GONEXT(TYPE) code_p = ((yamop *)(&(code_p->u.TYPE.next))) +#define GONEXT(TYPE) code_p = ((yamop *)(&(code_p->y_u.TYPE.next))) static void RemoveMainIndex(PredEntry *ap) @@ -1097,29 +1097,29 @@ static yamop * release_wcls(yamop *cop, OPCODE ecs) { if (cop->opc == ecs) { - cop->u.sssllp.s3--; - if (!cop->u.sssllp.s3) { - UInt sz = (UInt)NEXTOP((yamop *)NULL,sssllp)+cop->u.sssllp.s1*sizeof(yamop *); + cop->y_u.sssllp.s3--; + if (!cop->y_u.sssllp.s3) { + UInt sz = (UInt)NEXTOP((yamop *)NULL,sssllp)+cop->y_u.sssllp.s1*sizeof(yamop *); LOCK(ExpandClausesListLock); #ifdef DEBUG Yap_expand_clauses_sz -= sz; Yap_ExpandClauses--; #endif - if (cop->u.sssllp.p->PredFlags & LogUpdatePredFlag) { + if (cop->y_u.sssllp.p->PredFlags & LogUpdatePredFlag) { Yap_LUIndexSpace_EXT -= sz; } else { Yap_IndexSpace_EXT -= sz; } if (ExpandClausesFirst == cop) - ExpandClausesFirst = cop->u.sssllp.snext; + ExpandClausesFirst = cop->y_u.sssllp.snext; if (ExpandClausesLast == cop) { - ExpandClausesLast = cop->u.sssllp.sprev; + ExpandClausesLast = cop->y_u.sssllp.sprev; } - if (cop->u.sssllp.sprev) { - cop->u.sssllp.sprev->u.sssllp.snext = cop->u.sssllp.snext; + if (cop->y_u.sssllp.sprev) { + cop->y_u.sssllp.sprev->y_u.sssllp.snext = cop->y_u.sssllp.snext; } - if (cop->u.sssllp.snext) { - cop->u.sssllp.snext->u.sssllp.sprev = cop->u.sssllp.sprev; + if (cop->y_u.sssllp.snext) { + cop->y_u.sssllp.snext->y_u.sssllp.sprev = cop->y_u.sssllp.sprev; } UNLOCK(ExpandClausesListLock); Yap_InformOfRemoval(cop); @@ -1163,12 +1163,12 @@ cleanup_dangling_indices(yamop *ipc, yamop *beg, yamop *end, yamop *suspend_code case _retry2: case _retry3: case _retry4: - decrease_ref_counter(ipc->u.l.l, beg, end, suspend_code); + decrease_ref_counter(ipc->y_u.l.l, beg, end, suspend_code); ipc = NEXTOP(ipc,l); break; case _retry: case _trust: - decrease_ref_counter(ipc->u.Otapl.d, beg, end, suspend_code); + decrease_ref_counter(ipc->y_u.Otapl.d, beg, end, suspend_code); ipc = NEXTOP(ipc,Otapl); break; case _try_clause: @@ -1185,8 +1185,8 @@ cleanup_dangling_indices(yamop *ipc, yamop *beg, yamop *end, yamop *suspend_code case _profiled_retry_logical: { yamop *oipc = ipc; - decrease_ref_counter(ipc->u.OtaLl.d->ClCode, beg, end, suspend_code); - ipc = ipc->u.OtaLl.n; + decrease_ref_counter(ipc->y_u.OtaLl.d->ClCode, beg, end, suspend_code); + ipc = ipc->y_u.OtaLl.n; Yap_LUIndexSpace_CP -= (UInt)NEXTOP((yamop *)NULL,OtaLl); Yap_FreeCodeSpace((ADDR)oipc); #ifdef DEBUG @@ -1202,35 +1202,35 @@ cleanup_dangling_indices(yamop *ipc, yamop *beg, yamop *end, yamop *suspend_code Yap_DirtyCps--; Yap_FreedCps++; #endif - decrease_ref_counter(ipc->u.OtILl.d->ClCode, beg, end, suspend_code); + decrease_ref_counter(ipc->y_u.OtILl.d->ClCode, beg, end, suspend_code); Yap_LUIndexSpace_CP -= (UInt)NEXTOP((yamop *)NULL,OtILl); Yap_FreeCodeSpace((ADDR)ipc); return; case _enter_lu_pred: { yamop *oipc = ipc; - if (ipc->u.Illss.I->ClFlags & InUseMask || ipc->u.Illss.I->ClRefCount) + if (ipc->y_u.Illss.I->ClFlags & InUseMask || ipc->y_u.Illss.I->ClRefCount) return; #ifdef DEBUG - Yap_DirtyCps+=ipc->u.Illss.s; - Yap_LiveCps-=ipc->u.Illss.s; + Yap_DirtyCps+=ipc->y_u.Illss.s; + Yap_LiveCps-=ipc->y_u.Illss.s; #endif - ipc = ipc->u.Illss.l1; + ipc = ipc->y_u.Illss.l1; /* in case we visit again */ - oipc->u.Illss.l1 = FAILCODE; - oipc->u.Illss.s = 0; - oipc->u.Illss.e = 0; + oipc->y_u.Illss.l1 = FAILCODE; + oipc->y_u.Illss.s = 0; + oipc->y_u.Illss.e = 0; } break; case _try_in: case _jump: case _jump_if_var: - ipc->u.l.l = release_wcls(ipc->u.l.l, ecs); + ipc->y_u.l.l = release_wcls(ipc->y_u.l.l, ecs); ipc = NEXTOP(ipc,l); break; /* instructions type xl */ case _jump_if_nonvar: - ipc->u.xll.l1 = release_wcls(ipc->u.xll.l1, ecs); + ipc->y_u.xll.l1 = release_wcls(ipc->y_u.xll.l1, ecs); ipc = NEXTOP(ipc,xll); break; /* instructions type p */ @@ -1239,31 +1239,31 @@ cleanup_dangling_indices(yamop *ipc, yamop *beg, yamop *end, yamop *suspend_code break; /* instructions type e */ case _switch_on_type: - ipc->u.llll.l1 = release_wcls(ipc->u.llll.l1, ecs); - ipc->u.llll.l2 = release_wcls(ipc->u.llll.l2, ecs); - ipc->u.llll.l3 = release_wcls(ipc->u.llll.l3, ecs); - ipc->u.llll.l4 = release_wcls(ipc->u.llll.l4, ecs); + ipc->y_u.llll.l1 = release_wcls(ipc->y_u.llll.l1, ecs); + ipc->y_u.llll.l2 = release_wcls(ipc->y_u.llll.l2, ecs); + ipc->y_u.llll.l3 = release_wcls(ipc->y_u.llll.l3, ecs); + ipc->y_u.llll.l4 = release_wcls(ipc->y_u.llll.l4, ecs); ipc = NEXTOP(ipc,llll); break; case _switch_list_nl: - ipc->u.ollll.l1 = release_wcls(ipc->u.ollll.l1, ecs); - ipc->u.ollll.l2 = release_wcls(ipc->u.ollll.l2, ecs); - ipc->u.ollll.l3 = release_wcls(ipc->u.ollll.l3, ecs); - ipc->u.ollll.l4 = release_wcls(ipc->u.ollll.l4, ecs); + ipc->y_u.ollll.l1 = release_wcls(ipc->y_u.ollll.l1, ecs); + ipc->y_u.ollll.l2 = release_wcls(ipc->y_u.ollll.l2, ecs); + ipc->y_u.ollll.l3 = release_wcls(ipc->y_u.ollll.l3, ecs); + ipc->y_u.ollll.l4 = release_wcls(ipc->y_u.ollll.l4, ecs); ipc = NEXTOP(ipc,ollll); break; case _switch_on_arg_type: - ipc->u.xllll.l1 = release_wcls(ipc->u.xllll.l1, ecs); - ipc->u.xllll.l2 = release_wcls(ipc->u.xllll.l2, ecs); - ipc->u.xllll.l3 = release_wcls(ipc->u.xllll.l3, ecs); - ipc->u.xllll.l4 = release_wcls(ipc->u.xllll.l4, ecs); + ipc->y_u.xllll.l1 = release_wcls(ipc->y_u.xllll.l1, ecs); + ipc->y_u.xllll.l2 = release_wcls(ipc->y_u.xllll.l2, ecs); + ipc->y_u.xllll.l3 = release_wcls(ipc->y_u.xllll.l3, ecs); + ipc->y_u.xllll.l4 = release_wcls(ipc->y_u.xllll.l4, ecs); ipc = NEXTOP(ipc,xllll); break; case _switch_on_sub_arg_type: - ipc->u.sllll.l1 = release_wcls(ipc->u.sllll.l1, ecs); - ipc->u.sllll.l2 = release_wcls(ipc->u.sllll.l2, ecs); - ipc->u.sllll.l3 = release_wcls(ipc->u.sllll.l3, ecs); - ipc->u.sllll.l4 = release_wcls(ipc->u.sllll.l4, ecs); + ipc->y_u.sllll.l1 = release_wcls(ipc->y_u.sllll.l1, ecs); + ipc->y_u.sllll.l2 = release_wcls(ipc->y_u.sllll.l2, ecs); + ipc->y_u.sllll.l3 = release_wcls(ipc->y_u.sllll.l3, ecs); + ipc->y_u.sllll.l4 = release_wcls(ipc->y_u.sllll.l4, ecs); ipc = NEXTOP(ipc,sllll); break; case _if_not_then: @@ -1276,7 +1276,7 @@ cleanup_dangling_indices(yamop *ipc, yamop *beg, yamop *end, yamop *suspend_code case _if_cons: case _go_on_cons: /* make sure we don't leave dangling references to memory that is going to be removed */ - ipc->u.sssl.l = NULL; + ipc->y_u.sssl.l = NULL; ipc = NEXTOP(ipc,sssl); break; case _op_fail: @@ -1755,9 +1755,9 @@ add_first_dynamic(PredEntry *p, yamop *cp, int spy_flag) p->OpcodeOfPred = ncp->opc = Yap_opcode(_spy_or_trymark); else p->OpcodeOfPred = ncp->opc = Yap_opcode(_try_and_mark); - ncp->u.Otapl.s = p->ArityOfPE; - ncp->u.Otapl.p = p; - ncp->u.Otapl.d = cp; + ncp->y_u.Otapl.s = p->ArityOfPE; + ncp->y_u.Otapl.p = p; + ncp->y_u.Otapl.d = cp; /* This is the point we enter the code */ p->cs.p_code.TrueCodeOfPred = p->CodeOfPred = ncp; p->cs.p_code.NOfClauses = 1; @@ -1777,9 +1777,9 @@ add_first_dynamic(PredEntry *p, yamop *cp, int spy_flag) cp->opc = Yap_opcode(_count_retry_and_mark); else cp->opc = Yap_opcode(_retry_and_mark); - cp->u.Otapl.s = p->ArityOfPE; - cp->u.Otapl.p = p; - cp->u.Otapl.d = ncp; + cp->y_u.Otapl.s = p->ArityOfPE; + cp->y_u.Otapl.p = p; + cp->y_u.Otapl.d = ncp; /* also, keep a backpointer for the days you delete the clause */ ClauseCodeToDynamicClause(cp)->ClPrevious = ncp; /* Don't forget to say who is the only clause for the predicate so @@ -1796,7 +1796,7 @@ add_first_dynamic(PredEntry *p, yamop *cp, int spy_flag) /* and close the code */ ncp = NEXTOP(ncp,e); ncp->opc = Yap_opcode(_Ystop); - ncp->u.l.l = cl->ClCode; + ncp->y_u.l.l = cl->ClCode; } /* p is already locked */ @@ -1840,7 +1840,7 @@ asserta_stat_clause(PredEntry *p, yamop *q, int spy_flag) p->OpcodeOfPred = INDEX_OPCODE; p->CodeOfPred = (yamop *)(&(p->OpcodeOfPred)); } - p->cs.p_code.LastClause->u.Otapl.d = q; + p->cs.p_code.LastClause->y_u.Otapl.d = q; } /* p is already locked */ @@ -1856,22 +1856,22 @@ asserta_dynam_clause(PredEntry *p, yamop *cp) cl->ClPrevious = (yamop *)(p->CodeOfPred); cl->ClFlags |= DynamicMask; UNLOCK(ClauseCodeToDynamicClause(p->cs.p_code.FirstClause)->ClLock); - q->u.Otapl.d = p->cs.p_code.FirstClause; - q->u.Otapl.s = p->ArityOfPE; - q->u.Otapl.p = p; + q->y_u.Otapl.d = p->cs.p_code.FirstClause; + q->y_u.Otapl.s = p->ArityOfPE; + q->y_u.Otapl.p = p; if (p->PredFlags & ProfiledPredFlag) cp->opc = Yap_opcode(_profiled_retry_and_mark); else if (p->PredFlags & CountPredFlag) cp->opc = Yap_opcode(_count_retry_and_mark); else cp->opc = Yap_opcode(_retry_and_mark); - cp->u.Otapl.s = p->ArityOfPE; - cp->u.Otapl.p = p; + cp->y_u.Otapl.s = p->ArityOfPE; + cp->y_u.Otapl.p = p; p->cs.p_code.FirstClause = cp; q = p->CodeOfPred; - q->u.Otapl.d = cp; - q->u.Otapl.s = p->ArityOfPE; - q->u.Otapl.p = p; + q->y_u.Otapl.d = cp; + q->y_u.Otapl.s = p->ArityOfPE; + q->y_u.Otapl.p = p; } @@ -1931,7 +1931,7 @@ assertz_dynam_clause(PredEntry *p, yamop *cp) q = p->cs.p_code.LastClause; LOCK(ClauseCodeToDynamicClause(q)->ClLock); - q->u.Otapl.d = cp; + q->y_u.Otapl.d = cp; p->cs.p_code.LastClause = cp; /* also, keep backpointers for the days we'll delete all the clause */ cl->ClPrevious = q; @@ -1944,9 +1944,9 @@ assertz_dynam_clause(PredEntry *p, yamop *cp) q->opc = Yap_opcode(_count_retry_and_mark); else q->opc = Yap_opcode(_retry_and_mark); - q->u.Otapl.d = p->CodeOfPred; - q->u.Otapl.s = p->ArityOfPE; - q->u.Otapl.p = p; + q->y_u.Otapl.d = p->CodeOfPred; + q->y_u.Otapl.s = p->ArityOfPE; + q->y_u.Otapl.p = p; p->cs.p_code.NOfClauses++; } @@ -3553,16 +3553,16 @@ search_for_static_predicate_in_use(PredEntry *p, int check_everything) if (p->PredFlags & LogUpdatePredFlag) { LogUpdIndex *cl = ClauseCodeToLogUpdIndex(code_beg); if (find_owner_log_index(cl, code_p)) - b_ptr->cp_ap = cur_log_upd_clause(pe, b_ptr->cp_ap->u.Otapl.d); + b_ptr->cp_ap = cur_log_upd_clause(pe, b_ptr->cp_ap->y_u.Otapl.d); } else if (p->PredFlags & MegaClausePredFlag) { StaticIndex *cl = ClauseCodeToStaticIndex(code_beg); if (find_owner_static_index(cl, code_p)) - b_ptr->cp_ap = cur_clause(pe, b_ptr->cp_ap->u.Otapl.d); + b_ptr->cp_ap = cur_clause(pe, b_ptr->cp_ap->y_u.Otapl.d); } else { /* static clause */ StaticIndex *cl = ClauseCodeToStaticIndex(code_beg); if (find_owner_static_index(cl, code_p)) { - b_ptr->cp_ap = cur_clause(pe, b_ptr->cp_ap->u.Otapl.d); + b_ptr->cp_ap = cur_clause(pe, b_ptr->cp_ap->y_u.Otapl.d); } } } @@ -4151,7 +4151,7 @@ found_idb_clause(yamop *pc, CODEADDR *startp, CODEADDR *endp) static PredEntry * found_expand_index(yamop *pc, CODEADDR *startp, CODEADDR *endp, yamop *codeptr USES_REGS) { - PredEntry *pp = codeptr->u.sssllp.p; + PredEntry *pp = codeptr->y_u.sssllp.p; if (pc == codeptr) { *startp = (CODEADDR)codeptr; *endp = (CODEADDR)NEXTOP(codeptr,sssllp); @@ -4199,30 +4199,30 @@ found_ystop(yamop *pc, int clause_code, CODEADDR *startp, CODEADDR *endp, PredEn } if (!pp) { /* must be an index */ - PredEntry **pep = (PredEntry **)pc->u.l.l; + PredEntry **pep = (PredEntry **)pc->y_u.l.l; pp = pep[-1]; } if (pp->PredFlags & LogUpdatePredFlag) { if (clause_code) { - LogUpdClause *cl = ClauseCodeToLogUpdClause(pc->u.l.l); + LogUpdClause *cl = ClauseCodeToLogUpdClause(pc->y_u.l.l); *startp = (CODEADDR)cl; *endp = (CODEADDR)cl+cl->ClSize; } else { - LogUpdIndex *cl = ClauseCodeToLogUpdIndex(pc->u.l.l); + LogUpdIndex *cl = ClauseCodeToLogUpdIndex(pc->y_u.l.l); *startp = (CODEADDR)cl; *endp = (CODEADDR)cl+cl->ClSize; } } else if (pp->PredFlags & DynamicPredFlag) { - DynamicClause *cl = ClauseCodeToDynamicClause(pc->u.l.l); + DynamicClause *cl = ClauseCodeToDynamicClause(pc->y_u.l.l); *startp = (CODEADDR)cl; *endp = (CODEADDR)cl+cl->ClSize; } else { if (clause_code) { - StaticClause *cl = ClauseCodeToStaticClause(pc->u.l.l); + StaticClause *cl = ClauseCodeToStaticClause(pc->y_u.l.l); *startp = (CODEADDR)cl; *endp = (CODEADDR)cl+cl->ClSize; } else { - StaticIndex *cl = ClauseCodeToStaticIndex(pc->u.l.l); + StaticIndex *cl = ClauseCodeToStaticIndex(pc->y_u.l.l); *startp = (CODEADDR)cl; *endp = (CODEADDR)cl+cl->ClSize; } @@ -5150,7 +5150,7 @@ Yap_UpdateTimestamps(PredEntry *ap) case _trust_logical: case _count_trust_logical: case _profiled_trust_logical: - if (bptr->cp_ap->u.OtaLl.d->ClPred == ap) { + if (bptr->cp_ap->y_u.OtaLl.d->ClPred == ap) { UInt ts = IntegerOfTerm(bptr->cp_args[ar]); if (ts != arp[0]) { if (arp-HR < 1024) { @@ -5214,7 +5214,7 @@ Yap_UpdateTimestamps(PredEntry *ap) case _trust_logical: case _count_trust_logical: case _profiled_trust_logical: - if (bptr->cp_ap->u.OtaLl.d->ClPred == ap) { + if (bptr->cp_ap->y_u.OtaLl.d->ClPred == ap) { UInt ts = IntegerOfTerm(bptr->cp_args[ar]); while (ts != arp[0]) arp--; @@ -5579,9 +5579,9 @@ index_ssz(StaticIndex *x, PredEntry *pe) } /* expand clause blocks */ while (ep) { - if (ep->u.sssllp.p == pe) - sz += (UInt)NEXTOP((yamop *)NULL,sssllp)+ep->u.sssllp.s1*sizeof(yamop *); - ep = ep->u.sssllp.snext; + if (ep->y_u.sssllp.p == pe) + sz += (UInt)NEXTOP((yamop *)NULL,sssllp)+ep->y_u.sssllp.s1*sizeof(yamop *); + ep = ep->y_u.sssllp.snext; } /* main indexing tree */ sz += tree_index_ssz(x); @@ -5787,7 +5787,7 @@ p_env_info( USES_REGS1 ) env_b = MkIntegerTerm((Int)(LCL0-(CELL *)env[E_CB])); env_cp = (yamop *)env[E_CP]; - /* pe = PREVOP(env_cp,Osbpp)->u.Osbpp.p0; */ + /* pe = PREVOP(env_cp,Osbpp)->y_u.Osbpp.p0; */ taddr = MkIntegerTerm((Int)env); return Yap_unify(ARG3,MkIntegerTerm((Int)env_cp)) && Yap_unify(ARG2, taddr) && @@ -5800,7 +5800,7 @@ p_cpc_info( USES_REGS1 ) PredEntry *pe; yamop *ipc = (yamop *)IntegerOfTerm(Deref(ARG1)); - pe = PREVOP(ipc,Osbpp)->u.Osbpp.p0; + pe = PREVOP(ipc,Osbpp)->y_u.Osbpp.p0; return UnifyPredInfo(pe, 2 PASS_REGS) && Yap_unify(ARG5,MkIntegerTerm(ClauseId(ipc,pe))); } @@ -5903,21 +5903,21 @@ p_choicepoint_info( USES_REGS1 ) case _count_trust_logical: case _profiled_retry_logical: case _profiled_trust_logical: - ncl = ipc->u.OtaLl.d->ClCode; - pe = ipc->u.OtaLl.d->ClPred; + ncl = ipc->y_u.OtaLl.d->ClCode; + pe = ipc->y_u.OtaLl.d->ClPred; t = BuildActivePred(pe, cptr->cp_args); break; case _or_else: - pe = ipc->u.Osblp.p0; + pe = ipc->y_u.Osblp.p0; ncl = ipc; t = Yap_MkNewApplTerm(FunctorOr, 2); break; case _or_last: #ifdef YAPOR - pe = ipc->u.Osblp.p0; + pe = ipc->y_u.Osblp.p0; #else - pe = ipc->u.p.p; + pe = ipc->y_u.p.p; #endif ncl = ipc; t = Yap_MkNewApplTerm(FunctorOr, 2); @@ -5929,26 +5929,26 @@ p_choicepoint_info( USES_REGS1 ) t = TermNil; ipc = NEXTOP(ipc,l); if (!ncl) - ncl = ipc->u.Otapl.d; + ncl = ipc->y_u.Otapl.d; go_on = TRUE; break; case _jump: pe = NULL; t = TermNil; - ipc = ipc->u.l.l; + ipc = ipc->y_u.l.l; go_on = TRUE; break; case _retry_c: case _retry_userc: ncl = NEXTOP(ipc,OtapFs); - pe = ipc->u.OtapFs.p; + pe = ipc->y_u.OtapFs.p; t = BuildActivePred(pe, cptr->cp_args); break; case _retry_profiled: case _count_retry: pe = NULL; t = TermNil; - ncl = ipc->u.Otapl.d; + ncl = ipc->y_u.Otapl.d; ipc = NEXTOP(ipc,p); go_on = TRUE; break; @@ -5963,14 +5963,14 @@ p_choicepoint_info( USES_REGS1 ) case _retry: case _trust: if (!ncl) - ncl = ipc->u.Otapl.d; - pe = ipc->u.Otapl.p; + ncl = ipc->y_u.Otapl.d; + pe = ipc->y_u.Otapl.p; t = BuildActivePred(pe, cptr->cp_args); break; case _retry_exo: case _retry_all_exo: ncl = NULL; - pe = ipc->u.lp.p; + pe = ipc->y_u.lp.p; t = BuildActivePred(pe, cptr->cp_args); break; case _Nstop: @@ -6031,61 +6031,61 @@ store_dbcl_size(yamop *pc, UInt arity, Term t0, PredEntry *pe) case 2: pc->opc = Yap_opcode(_get_2atoms); DerefAndCheck(t, tp[0]); - pc->u.cc.c1 = t; + pc->y_u.cc.c1 = t; DerefAndCheck(t, tp[1]); - pc->u.cc.c2 = t; + pc->y_u.cc.c2 = t; pc = NEXTOP(pc,cc); break; case 3: pc->opc = Yap_opcode(_get_3atoms); DerefAndCheck(t, tp[0]); - pc->u.ccc.c1 = t; + pc->y_u.ccc.c1 = t; DerefAndCheck(t, tp[1]); - pc->u.ccc.c2 = t; + pc->y_u.ccc.c2 = t; DerefAndCheck(t, tp[2]); - pc->u.ccc.c3 = t; + pc->y_u.ccc.c3 = t; pc = NEXTOP(pc,ccc); break; case 4: pc->opc = Yap_opcode(_get_4atoms); DerefAndCheck(t, tp[0]); - pc->u.cccc.c1 = t; + pc->y_u.cccc.c1 = t; DerefAndCheck(t, tp[1]); - pc->u.cccc.c2 = t; + pc->y_u.cccc.c2 = t; DerefAndCheck(t, tp[2]); - pc->u.cccc.c3 = t; + pc->y_u.cccc.c3 = t; DerefAndCheck(t, tp[3]); - pc->u.cccc.c4 = t; + pc->y_u.cccc.c4 = t; pc = NEXTOP(pc,cccc); break; case 5: pc->opc = Yap_opcode(_get_5atoms); DerefAndCheck(t, tp[0]); - pc->u.ccccc.c1 = t; + pc->y_u.ccccc.c1 = t; DerefAndCheck(t, tp[1]); - pc->u.ccccc.c2 = t; + pc->y_u.ccccc.c2 = t; DerefAndCheck(t, tp[2]); - pc->u.ccccc.c3 = t; + pc->y_u.ccccc.c3 = t; DerefAndCheck(t, tp[3]); - pc->u.ccccc.c4 = t; + pc->y_u.ccccc.c4 = t; DerefAndCheck(t, tp[4]); - pc->u.ccccc.c5 = t; + pc->y_u.ccccc.c5 = t; pc = NEXTOP(pc,ccccc); break; case 6: pc->opc = Yap_opcode(_get_6atoms); DerefAndCheck(t, tp[0]); - pc->u.cccccc.c1 = t; + pc->y_u.cccccc.c1 = t; DerefAndCheck(t, tp[1]); - pc->u.cccccc.c2 = t; + pc->y_u.cccccc.c2 = t; DerefAndCheck(t, tp[2]); - pc->u.cccccc.c3 = t; + pc->y_u.cccccc.c3 = t; DerefAndCheck(t, tp[3]); - pc->u.cccccc.c4 = t; + pc->y_u.cccccc.c4 = t; DerefAndCheck(t, tp[4]); - pc->u.cccccc.c5 = t; + pc->y_u.cccccc.c5 = t; DerefAndCheck(t, tp[5]); - pc->u.cccccc.c6 = t; + pc->y_u.cccccc.c6 = t; pc = NEXTOP(pc,cccccc); break; default: @@ -6094,12 +6094,12 @@ store_dbcl_size(yamop *pc, UInt arity, Term t0, PredEntry *pe) for (i = 0; i< arity; i++) { pc->opc = Yap_opcode(_get_atom); #if PRECOMPUTE_REGADDRESS - pc->u.xc.x = (CELL) (XREGS + (i+1)); + pc->y_u.xc.x = (CELL) (XREGS + (i+1)); #else - pc->u.xc.x = i+1; + pc->y_u.xc.x = i+1; #endif DerefAndCheck(t, tp[0]); - pc->u.xc.c = t; + pc->y_u.xc.c = t; tp++; pc = NEXTOP(pc,xc); } @@ -6107,7 +6107,7 @@ store_dbcl_size(yamop *pc, UInt arity, Term t0, PredEntry *pe) break; } pc->opc = Yap_opcode(_procceed); - pc->u.p.p = pe; + pc->y_u.p.p = pe; return TRUE; } diff --git a/C/clause_list.c b/C/clause_list.c index f24d8de10..845a8aaa3 100644 --- a/C/clause_list.c +++ b/C/clause_list.c @@ -75,22 +75,22 @@ Yap_ClauseListExtend(clause_list_t cl, void * clause, void *pred) fclause = ptr[-1]; code_p = (yamop *)(ptr-1); code_p->opc = Yap_opcode(_try_clause); - code_p->u.Otapl.d = fclause; - code_p->u.Otapl.s = ap->ArityOfPE; - code_p->u.Otapl.p = ap; + code_p->y_u.Otapl.d = fclause; + code_p->y_u.Otapl.s = ap->ArityOfPE; + code_p->y_u.Otapl.p = ap; #ifdef TABLING - code_p->u.Otapl.te = ap->TableOfPred; + code_p->y_u.Otapl.te = ap->TableOfPred; #endif #ifdef YAPOR INIT_YAMOP_LTT(code_p, 0); #endif /* YAPOR */ code_p = NEXTOP(code_p,Otapl); code_p->opc = Yap_opcode(_trust); - code_p->u.Otapl.d = clause; - code_p->u.Otapl.s = ap->ArityOfPE; - code_p->u.Otapl.p = ap; + code_p->y_u.Otapl.d = clause; + code_p->y_u.Otapl.s = ap->ArityOfPE; + code_p->y_u.Otapl.p = ap; #ifdef TABLING - code_p->u.Otapl.te = ap->TableOfPred; + code_p->y_u.Otapl.te = ap->TableOfPred; #endif #ifdef YAPOR INIT_YAMOP_LTT(code_p, 0); @@ -100,11 +100,11 @@ Yap_ClauseListExtend(clause_list_t cl, void * clause, void *pred) if (!(code_p = (yamop *)extend_blob(cl->start,((CELL)NEXTOP((yamop *)NULL,Otapl))/sizeof(CELL) PASS_REGS))) return FALSE; code_p->opc = Yap_opcode(_trust); - code_p->u.Otapl.d = clause; - code_p->u.Otapl.s = ap->ArityOfPE; - code_p->u.Otapl.p = ap; + code_p->y_u.Otapl.d = clause; + code_p->y_u.Otapl.s = ap->ArityOfPE; + code_p->y_u.Otapl.p = ap; #ifdef TABLING - code_p->u.Otapl.te = ap->TableOfPred; + code_p->y_u.Otapl.te = ap->TableOfPred; #endif #ifdef YAPOR INIT_YAMOP_LTT(code_p, 0); diff --git a/C/dbase.c b/C/dbase.c index 70eb25e98..ebe4c4013 100755 --- a/C/dbase.c +++ b/C/dbase.c @@ -3614,14 +3614,14 @@ index_sz(LogUpdIndex *x) endop = Yap_opcode(_profiled_trust_logical); else endop = Yap_opcode(_trust_logical); - start = start->u.Illss.l1; - if (start->u.Illss.s) do { + start = start->y_u.Illss.l1; + if (start->y_u.Illss.s) do { sz += (UInt)NEXTOP((yamop*)NULL,OtaLl); op1 = start->opc; count++; - if (start->u.OtaLl.d->ClFlags & ErasedMask) + if (start->y_u.OtaLl.d->ClFlags & ErasedMask) dead++; - start = start->u.OtaLl.n; + start = start->y_u.OtaLl.n; } while (op1 != endop); } x = x->ChildIndex; @@ -3656,9 +3656,9 @@ lu_statistics(PredEntry *pe USES_REGS) /* expand clause blocks */ yamop *ep = ExpandClausesFirst; while (ep) { - if (ep->u.sssllp.p == pe) - isz += (UInt)NEXTOP((yamop *)NULL,sssllp)+ep->u.sssllp.s1*sizeof(yamop *); - ep = ep->u.sssllp.snext; + if (ep->y_u.sssllp.p == pe) + isz += (UInt)NEXTOP((yamop *)NULL,sssllp)+ep->y_u.sssllp.s1*sizeof(yamop *); + ep = ep->y_u.sssllp.snext; } isz += index_sz(ClauseCodeToLogUpdIndex(pe->cs.p_code.TrueCodeOfPred)); } @@ -3915,7 +3915,7 @@ find_next_clause(DBRef ref0 USES_REGS) static Int p_jump_to_next_dynamic_clause( USES_REGS1 ) { - DBRef ref = (DBRef)(((yamop *)((CODEADDR)P-(CELL)NEXTOP((yamop *)NULL,Osbpp)))->u.Osbpp.bmap); + DBRef ref = (DBRef)(((yamop *)((CODEADDR)P-(CELL)NEXTOP((yamop *)NULL,Osbpp)))->y_u.Osbpp.bmap); yamop *newp = find_next_clause(ref PASS_REGS); if (newp == NULL) { @@ -4070,20 +4070,20 @@ MyEraseClause(DynamicClause *clau USES_REGS) I don't need to lock the clause at this point because I am the last one using it anyway. */ - ref = (DBRef) NEXTOP(clau->ClCode,Otapl)->u.Osbpp.bmap; + ref = (DBRef) NEXTOP(clau->ClCode,Otapl)->y_u.Osbpp.bmap; /* don't do nothing if the reference is still in use */ if (DBREF_IN_USE(ref)) return; if ( P == clau->ClCode ) { yamop *np = RTRYCODE; /* make it the next alternative */ - np->u.Otapl.d = find_next_clause((DBRef)(NEXTOP(P,Otapl)->u.Osbpp.bmap) PASS_REGS); - if (np->u.Otapl.d == NULL) + np->y_u.Otapl.d = find_next_clause((DBRef)(NEXTOP(P,Otapl)->y_u.Osbpp.bmap) PASS_REGS); + if (np->y_u.Otapl.d == NULL) P = (yamop *)FAILCODE; else { /* with same arity as before */ - np->u.Otapl.s = P->u.Otapl.s; - np->u.Otapl.p = P->u.Otapl.p; + np->y_u.Otapl.s = P->y_u.Otapl.s; + np->y_u.Otapl.p = P->y_u.Otapl.p; /* go ahead and try this code */ P = np; } @@ -4134,7 +4134,7 @@ PrepareToEraseLogUpdClause(LogUpdClause *clau, DBRef dbr) if (p->cs.p_code.FirstClause != cl) { /* we are not the first clause... */ yamop *prev_code_p = (yamop *)(dbr->Prev->Code); - prev_code_p->u.Otapl.d = code_p->u.Otapl.d; + prev_code_p->y_u.Otapl.d = code_p->y_u.Otapl.d; /* are we the last? */ if (p->cs.p_code.LastClause == cl) p->cs.p_code.LastClause = prev_code_p; @@ -4143,7 +4143,7 @@ PrepareToEraseLogUpdClause(LogUpdClause *clau, DBRef dbr) if (p->cs.p_code.LastClause == p->cs.p_code.FirstClause) { p->cs.p_code.LastClause = p->cs.p_code.FirstClause = NULL; } else { - p->cs.p_code.FirstClause = code_p->u.Otapl.d; + p->cs.p_code.FirstClause = code_p->y_u.Otapl.d; p->cs.p_code.FirstClause->opc = Yap_opcode(_try_me); } @@ -4158,7 +4158,7 @@ PrepareToEraseLogUpdClause(LogUpdClause *clau, DBRef dbr) if (p->cs.p_code.FirstClause == p->cs.p_code.LastClause) { if (p->cs.p_code.FirstClause != NULL) { code_p = p->cs.p_code.FirstClause; - code_p->u.Otapl.d = p->cs.p_code.FirstClause; + code_p->y_u.Otapl.d = p->cs.p_code.FirstClause; p->cs.p_code.TrueCodeOfPred = NEXTOP(code_p, Otapl); if (p->PredFlags & (SpiedPredFlag|CountPredFlag|ProfiledPredFlag)) { p->OpcodeOfPred = Yap_opcode(_spy_pred); diff --git a/C/exec.c b/C/exec.c index 652fb5e85..57625f544 100755 --- a/C/exec.c +++ b/C/exec.c @@ -1587,9 +1587,9 @@ static int is_cleanup_cp(choiceptr cp_b) if (cp_b->cp_ap->opc != ORLAST_OPCODE) return FALSE; #ifdef YAPOR - pe = cp_b->cp_ap->u.Osblp.p0; + pe = cp_b->cp_ap->y_u.Osblp.p0; #else - pe = cp_b->cp_ap->u.p.p; + pe = cp_b->cp_ap->y_u.p.p; #endif /* YAPOR */ /* it has to be a cleanup and it has to be a completed goal, @@ -1902,7 +1902,7 @@ Yap_dogc( int extra_args, Term *tp USES_REGS ) int i; if (P && PREVOP(P,Osbpp)->opc == Yap_opcode(_call_usercpred)) { - arity = PREVOP(P,Osbpp)->u.Osbpp.p->ArityOfPE; + arity = PREVOP(P,Osbpp)->y_u.Osbpp.p->ArityOfPE; nextpc = P; } else { arity = 0; diff --git a/C/exo.c b/C/exo.c index 0c9087efd..8079b1706 100755 --- a/C/exo.c +++ b/C/exo.c @@ -467,30 +467,30 @@ add_index(struct index_t **ip, UInt bmap, PredEntry *ap, UInt count) ptr->opc = Yap_opcode(_try_exo); else ptr->opc = Yap_opcode(_try_all_exo); - ptr->u.lp.l = (yamop *)i; - ptr->u.lp.p = ap; + ptr->y_u.lp.l = (yamop *)i; + ptr->y_u.lp.p = ap; ptr = NEXTOP(ptr, lp); if (count) ptr->opc = Yap_opcode(_retry_exo); else ptr->opc = Yap_opcode(_retry_all_exo); - ptr->u.lp.p = ap; - ptr->u.lp.l = (yamop *)i; + ptr->y_u.lp.p = ap; + ptr->y_u.lp.l = (yamop *)i; ptr = NEXTOP(ptr, lp); for (j = 0; j < i->arity; j++) { ptr->opc = Yap_opcode(_get_atom_exo); #if PRECOMPUTE_REGADDRESS - ptr->u.x.x = (CELL) (XREGS + (j+1)); + ptr->y_u.x.x = (CELL) (XREGS + (j+1)); #else - ptr->u.x.x = j+1; + ptr->y_u.x.x = j+1; #endif ptr = NEXTOP(ptr, x); } ptr->opc = Yap_opcode(_procceed); - ptr->u.p.p = ap; + ptr->y_u.p.p = ap; ptr = NEXTOP(ptr, p); ptr->opc = Yap_opcode(_Ystop); - ptr->u.l.l = i->code; + ptr->y_u.l.l = i->code; Yap_inform_profiler_of_clause((char *)(i->code), (char *)NEXTOP(ptr,l), ap, GPROF_INDEX); if (ap->PredFlags & UDIPredFlag) { Yap_new_udi_clause( ap, NULL, (Term)ip); diff --git a/C/gprof.c b/C/gprof.c index 6ebe5c1c6..e9da4f597 100755 --- a/C/gprof.c +++ b/C/gprof.c @@ -934,10 +934,10 @@ prof_alrm(int signo, siginfo_t *si, void *scv) if (oop == _call_cpred || oop == _call_usercpred) { /* doing C-code */ - current_p = PREVOP(P,Osbpp)->u.Osbpp.p->CodeOfPred; + current_p = PREVOP(P,Osbpp)->y_u.Osbpp.p->CodeOfPred; } else if ((oop = Yap_op_from_opcode(P->opc)) == _execute_cpred) { /* doing C-code */ - current_p = P->u.pp.p->CodeOfPred; + current_p = P->y_u.pp.p->CodeOfPred; } else { current_p = P; } diff --git a/C/heapgc.c b/C/heapgc.c index 22ecb3b87..cbd69be2e 100755 --- a/C/heapgc.c +++ b/C/heapgc.c @@ -451,7 +451,7 @@ push_registers(Int num_regs, yamop *nextop USES_REGS) /* push any live registers we might have hanging around */ if (nextop->opc == Yap_opcode(_move_back) || nextop->opc == Yap_opcode(_skip)) { - CELL *lab = (CELL *)(nextop->u.l.l); + CELL *lab = (CELL *)(nextop->y_u.l.l); CELL max = lab[0]; Int curr = lab[1]; lab += 2; @@ -547,7 +547,7 @@ pop_registers(Int num_regs, yamop *nextop USES_REGS) /* pop any live registers we might have hanging around */ if (nextop->opc == Yap_opcode(_move_back) || nextop->opc == Yap_opcode(_skip)) { - CELL *lab = (CELL *)(nextop->u.l.l); + CELL *lab = (CELL *)(nextop->y_u.l.l); CELL max = lab[0]; Int curr = lab[1]; lab += 2; @@ -2055,8 +2055,8 @@ mark_choicepoints(register choiceptr gc_B, tr_fr_ptr saved_TR, int very_verbose if (opnum == _or_else || opnum == _or_last) { /* ; choice point */ mark_environments((CELL_PTR) (gc_B->cp_a1), - -gc_B->cp_cp->u.Osblp.s / ((OPREG)sizeof(CELL)), - gc_B->cp_cp->u.Osblp.bmap + -gc_B->cp_cp->y_u.Osblp.s / ((OPREG)sizeof(CELL)), + gc_B->cp_cp->y_u.Osblp.bmap PASS_REGS); } else { /* choicepoint with arguments */ @@ -2107,10 +2107,10 @@ mark_choicepoints(register choiceptr gc_B, tr_fr_ptr saved_TR, int very_verbose } B = old_b; } - nargs = rtp->u.OtapFs.s+rtp->u.OtapFs.extra; + nargs = rtp->y_u.OtapFs.s+rtp->y_u.OtapFs.extra; break; case _jump: - rtp = rtp->u.l.l; + rtp = rtp->y_u.l.l; op = rtp->opc; opnum = Yap_op_from_opcode(op); goto restart_cp; @@ -2144,7 +2144,7 @@ mark_choicepoints(register choiceptr gc_B, tr_fr_ptr saved_TR, int very_verbose { CELL *vars_ptr, vars; vars_ptr = (CELL *)(GEN_CP(gc_B) + 1); - nargs = rtp->u.Otapl.s; + nargs = rtp->y_u.Otapl.s; while (nargs--) { mark_external_reference(vars_ptr PASS_REGS); vars_ptr++; @@ -2307,15 +2307,15 @@ mark_choicepoints(register choiceptr gc_B, tr_fr_ptr saved_TR, int very_verbose on the other hand it's the only way we can be sure we can reclaim space */ - yamop *end = rtp->u.OtaLl.n; + yamop *end = rtp->y_u.OtaLl.n; while (end->opc != trust_lu && end->opc != count_trust_lu && end->opc != profiled_trust_lu ) - end = end->u.OtaLl.n; - mark_ref_in_use((DBRef)end->u.OtILl.block PASS_REGS); + end = end->y_u.OtaLl.n; + mark_ref_in_use((DBRef)end->y_u.OtILl.block PASS_REGS); } /* mark timestamp */ - nargs = rtp->u.OtaLl.s+1; + nargs = rtp->y_u.OtaLl.s+1; break; case _count_retry_logical: { @@ -2324,13 +2324,13 @@ mark_choicepoints(register choiceptr gc_B, tr_fr_ptr saved_TR, int very_verbose on the other hand it's the only way we can be sure we can reclaim space */ - yamop *end = rtp->u.OtaLl.n; + yamop *end = rtp->y_u.OtaLl.n; while (Yap_op_from_opcode(end->opc) != _count_trust_logical) - end = end->u.OtaLl.n; - mark_ref_in_use((DBRef)end->u.OtILl.block PASS_REGS); + end = end->y_u.OtaLl.n; + mark_ref_in_use((DBRef)end->y_u.OtILl.block PASS_REGS); } /* mark timestamp */ - nargs = rtp->u.OtaLl.s+1; + nargs = rtp->y_u.OtaLl.s+1; break; case _profiled_retry_logical: { @@ -2339,28 +2339,28 @@ mark_choicepoints(register choiceptr gc_B, tr_fr_ptr saved_TR, int very_verbose on the other hand it's the only way we can be sure we can reclaim space */ - yamop *end = rtp->u.OtaLl.n; + yamop *end = rtp->y_u.OtaLl.n; while (Yap_op_from_opcode(end->opc) != _profiled_trust_logical) - end = end->u.OtaLl.n; - mark_ref_in_use((DBRef)end->u.OtILl.block PASS_REGS); + end = end->y_u.OtaLl.n; + mark_ref_in_use((DBRef)end->y_u.OtILl.block PASS_REGS); } /* mark timestamp */ - nargs = rtp->u.OtaLl.s+1; + nargs = rtp->y_u.OtaLl.s+1; break; case _trust_logical: case _count_trust_logical: case _profiled_trust_logical: /* mark timestamp */ - mark_ref_in_use((DBRef)rtp->u.OtILl.block PASS_REGS); - nargs = rtp->u.OtILl.d->ClPred->ArityOfPE+1; + mark_ref_in_use((DBRef)rtp->y_u.OtILl.block PASS_REGS); + nargs = rtp->y_u.OtILl.d->ClPred->ArityOfPE+1; break; case _retry_exo: case _retry_exo_udi: case _retry_all_exo: - nargs = rtp->u.lp.p->ArityOfPE; + nargs = rtp->y_u.lp.p->ArityOfPE; break; case _retry_udi: - nargs = rtp->u.p.p->ArityOfPE; + nargs = rtp->y_u.p.p->ArityOfPE; break; #ifdef DEBUG case _retry_me: @@ -2375,14 +2375,14 @@ mark_choicepoints(register choiceptr gc_B, tr_fr_ptr saved_TR, int very_verbose fprintf(stderr,"OOPS in GC: gc not supported in this case!!!\n"); exit(1); } - nargs = rtp->u.Otapl.s; + nargs = rtp->y_u.Otapl.s; break; default: fprintf(stderr, "OOPS in GC: Unexpected opcode: %d\n", opnum); nargs = 0; #else default: - nargs = rtp->u.Otapl.s; + nargs = rtp->y_u.Otapl.s; #endif } @@ -2399,8 +2399,8 @@ mark_choicepoints(register choiceptr gc_B, tr_fr_ptr saved_TR, int very_verbose pt->opc != count_trust_lu && pt->opc != profiled_trust_lu ) - pt = pt->u.OtaLl.n; - mark_ref_in_use((DBRef)pt->u.OtILl.block PASS_REGS); + pt = pt->y_u.OtaLl.n; + mark_ref_in_use((DBRef)pt->y_u.OtILl.block PASS_REGS); } } /* for each saved register */ @@ -3050,8 +3050,8 @@ sweep_choicepoints(choiceptr gc_B USES_REGS) case _or_last: sweep_environments((CELL_PTR)(gc_B->cp_a1), - -gc_B->cp_cp->u.Osblp.s / ((OPREG)sizeof(CELL)), - gc_B->cp_cp->u.Osblp.bmap + -gc_B->cp_cp->y_u.Osblp.s / ((OPREG)sizeof(CELL)), + gc_B->cp_cp->y_u.Osblp.bmap PASS_REGS); break; case _retry_profiled: @@ -3061,7 +3061,7 @@ sweep_choicepoints(choiceptr gc_B USES_REGS) opnum = Yap_op_from_opcode(op); goto restart_cp; case _jump: - rtp = rtp->u.l.l; + rtp = rtp->y_u.l.l; op = rtp->opc; opnum = Yap_op_from_opcode(op); goto restart_cp; @@ -3094,7 +3094,7 @@ sweep_choicepoints(choiceptr gc_B USES_REGS) CELL *vars_ptr, vars; sweep_environments(gc_B->cp_env, EnvSize(gc_B->cp_cp), EnvBMap(gc_B->cp_cp) PASS_REGS); vars_ptr = (CELL *)(GEN_CP(gc_B) + 1); - nargs = rtp->u.Otapl.s; + nargs = rtp->y_u.Otapl.s; while(nargs--) { CELL cp_cell = *vars_ptr; if (MARKED_PTR(vars_ptr)) { @@ -3288,12 +3288,12 @@ sweep_choicepoints(choiceptr gc_B USES_REGS) case _count_retry_logical: case _profiled_retry_logical: /* sweep timestamp */ - sweep_b(gc_B, rtp->u.OtaLl.s+1 PASS_REGS); + sweep_b(gc_B, rtp->y_u.OtaLl.s+1 PASS_REGS); break; case _trust_logical: case _count_trust_logical: case _profiled_trust_logical: - sweep_b(gc_B, rtp->u.OtILl.d->ClPred->ArityOfPE+1 PASS_REGS); + sweep_b(gc_B, rtp->y_u.OtILl.d->ClPred->ArityOfPE+1 PASS_REGS); break; case _retry2: sweep_b(gc_B, 2 PASS_REGS); @@ -3305,12 +3305,12 @@ sweep_choicepoints(choiceptr gc_B USES_REGS) sweep_b(gc_B, 4 PASS_REGS); break; case _retry_udi: - sweep_b(gc_B, rtp->u.p.p->ArityOfPE PASS_REGS); + sweep_b(gc_B, rtp->y_u.p.p->ArityOfPE PASS_REGS); break; case _retry_exo: case _retry_exo_udi: case _retry_all_exo: - sweep_b(gc_B, rtp->u.lp.p->ArityOfPE PASS_REGS); + sweep_b(gc_B, rtp->y_u.lp.p->ArityOfPE PASS_REGS); break; case _retry_c: case _retry_userc: @@ -3318,8 +3318,8 @@ sweep_choicepoints(choiceptr gc_B USES_REGS) register CELL_PTR saved_reg; /* for each extra saved register */ - for (saved_reg = &(gc_B->cp_a1)+rtp->u.OtapFs.s; - saved_reg < &(gc_B->cp_a1)+rtp->u.OtapFs.s+rtp->u.OtapFs.extra; + for (saved_reg = &(gc_B->cp_a1)+rtp->y_u.OtapFs.s; + saved_reg < &(gc_B->cp_a1)+rtp->y_u.OtapFs.s+rtp->y_u.OtapFs.extra; saved_reg++) { CELL cp_cell = *saved_reg; if (MARKED_PTR(saved_reg)) { @@ -3332,7 +3332,7 @@ sweep_choicepoints(choiceptr gc_B USES_REGS) } /* continue to clean environments and arguments */ default: - sweep_b(gc_B,rtp->u.Otapl.s PASS_REGS); + sweep_b(gc_B,rtp->y_u.Otapl.s PASS_REGS); } /* link to prev choicepoint */ diff --git a/C/index.c b/C/index.c index 2d2b1ee94..f4cc7c4ea 100755 --- a/C/index.c +++ b/C/index.c @@ -495,7 +495,7 @@ static char SccsId[] = "%W% %G%"; #include "cut_c.h" #if defined(YAPOR) || defined(THREADS) -#define SET_JLBL(X) jlbl = &(ipc->u.X) +#define SET_JLBL(X) jlbl = &(ipc->y_u.X) #else #define SET_JLBL(X) #endif @@ -513,33 +513,33 @@ cleanup_sw_on_clauses(CELL larg, UInt sz, OPCODE ecls) } else { yamop *xp = (yamop *)larg; if (xp->opc == ecls) { - if (xp->u.sssllp.s3 == 1) { - UInt nsz = sz + (UInt)(NEXTOP((yamop *)NULL,sssllp))+xp->u.sssllp.s1*sizeof(yamop *); + if (xp->y_u.sssllp.s3 == 1) { + UInt nsz = sz + (UInt)(NEXTOP((yamop *)NULL,sssllp))+xp->y_u.sssllp.s1*sizeof(yamop *); LOCK(ExpandClausesListLock); if (ExpandClausesFirst == xp) - ExpandClausesFirst = xp->u.sssllp.snext; + ExpandClausesFirst = xp->y_u.sssllp.snext; if (ExpandClausesLast == xp) { - ExpandClausesLast = xp->u.sssllp.sprev; + ExpandClausesLast = xp->y_u.sssllp.sprev; } - if (xp->u.sssllp.sprev) { - xp->u.sssllp.sprev->u.sssllp.snext = xp->u.sssllp.snext; + if (xp->y_u.sssllp.sprev) { + xp->y_u.sssllp.sprev->y_u.sssllp.snext = xp->y_u.sssllp.snext; } - if (xp->u.sssllp.snext) { - xp->u.sssllp.snext->u.sssllp.sprev = xp->u.sssllp.sprev; + if (xp->y_u.sssllp.snext) { + xp->y_u.sssllp.snext->y_u.sssllp.sprev = xp->y_u.sssllp.sprev; } UNLOCK(ExpandClausesListLock); #if DEBUG Yap_ExpandClauses--; - Yap_expand_clauses_sz -= (UInt)(NEXTOP((yamop *)NULL,sssllp))+xp->u.sssllp.s1*sizeof(yamop *); + Yap_expand_clauses_sz -= (UInt)(NEXTOP((yamop *)NULL,sssllp))+xp->y_u.sssllp.s1*sizeof(yamop *); #endif - if (xp->u.sssllp.p->PredFlags & LogUpdatePredFlag) { - Yap_LUIndexSpace_EXT -= (UInt)NEXTOP((yamop *)NULL,sssllp)+xp->u.sssllp.s1*sizeof(yamop *); + if (xp->y_u.sssllp.p->PredFlags & LogUpdatePredFlag) { + Yap_LUIndexSpace_EXT -= (UInt)NEXTOP((yamop *)NULL,sssllp)+xp->y_u.sssllp.s1*sizeof(yamop *); } else - Yap_IndexSpace_EXT -= (UInt)(NEXTOP((yamop *)NULL,sssllp))+xp->u.sssllp.s1*sizeof(yamop *); + Yap_IndexSpace_EXT -= (UInt)(NEXTOP((yamop *)NULL,sssllp))+xp->y_u.sssllp.s1*sizeof(yamop *); Yap_FreeCodeSpace((char *)xp); return nsz; } else { - xp->u.sssllp.s3--; + xp->y_u.sssllp.s3--; return sz; } } else { @@ -562,11 +562,11 @@ recover_from_failed_susp_on_cls(struct intermediates *cint, UInt sz) case enter_lu_op: if (cpc->rnd4) { yamop *code_p = (yamop *)cpc->rnd4; - yamop *first = code_p->u.Illss.l1; - yamop *last = code_p->u.Illss.l2; + yamop *first = code_p->y_u.Illss.l1; + yamop *last = code_p->y_u.Illss.l2; while (first) { - yamop *next = first->u.OtaLl.n; - LogUpdClause *cl = first->u.OtaLl.d; + yamop *next = first->y_u.OtaLl.n; + LogUpdClause *cl = first->y_u.OtaLl.d; cl->ClRefCount--; Yap_FreeCodeSpace((char *)first); if (first == last) @@ -977,12 +977,12 @@ move_next(ClauseDef *clause, UInt regno) return; case _p_db_ref_x: case _p_float_x: - if (wreg == cl->u.xl.x) { + if (wreg == cl->y_u.xl.x) { clause->CurrentCode = NEXTOP(cl,xl); } return; case _get_list: - if (wreg == cl->u.x.x) { + if (wreg == cl->y_u.x.x) { clause->CurrentCode = NEXTOP(cl,x); } return; @@ -994,7 +994,7 @@ move_next(ClauseDef *clause, UInt regno) case _glist_valy: return; case _get_atom: - if (wreg == cl->u.xc.x) { + if (wreg == cl->y_u.xc.x) { clause->CurrentCode = NEXTOP(cl,xc); } return; @@ -1015,7 +1015,7 @@ move_next(ClauseDef *clause, UInt regno) case _get_bigint: */ case _get_struct: - if (wreg == cl->u.xfa.x) { + if (wreg == cl->y_u.xfa.x) { clause->CurrentCode = NEXTOP(cl,xfa); } default: @@ -1147,11 +1147,11 @@ add_arg_info(ClauseDef *clause, PredEntry *ap, UInt argno) break; case _unify_n_voids: case _unify_l_n_voids: - if (argno <= cl->u.os.s) { + if (argno <= cl->y_u.os.s) { clause->Tag = (CELL)NULL; return; } - argno -= cl->u.os.s; + argno -= cl->y_u.os.s; case _unify_n_voids_write: case _unify_l_n_voids_write: cl = NEXTOP(cl,os); @@ -1159,7 +1159,7 @@ add_arg_info(ClauseDef *clause, PredEntry *ap, UInt argno) case _unify_atom: case _unify_l_atom: if (argno == 1) { - clause->Tag = cl->u.oc.c; + clause->Tag = cl->y_u.oc.c; return; } argno--; @@ -1175,7 +1175,7 @@ add_arg_info(ClauseDef *clause, PredEntry *ap, UInt argno) case _unify_l_float: if (argno == 1) { clause->Tag = AbsAppl((CELL *)FunctorDouble); - clause->ucd.t_ptr = AbsAppl(cl->u.od.d); + clause->ucd.t_ptr = AbsAppl(cl->y_u.od.d); return; } cl = NEXTOP(cl,od); @@ -1185,7 +1185,7 @@ add_arg_info(ClauseDef *clause, PredEntry *ap, UInt argno) case _unify_l_longint: if (argno == 1) { clause->Tag = AbsAppl((CELL *)FunctorLongInt); - clause->ucd.t_ptr = AbsAppl(cl->u.oi.i); + clause->ucd.t_ptr = AbsAppl(cl->y_u.oi.i); return; } argno--; @@ -1195,7 +1195,7 @@ add_arg_info(ClauseDef *clause, PredEntry *ap, UInt argno) case _unify_l_bigint: if (argno == 1) { clause->Tag = AbsAppl((CELL *)FunctorBigInt); - clause->ucd.t_ptr = cl->u.oc.c; + clause->ucd.t_ptr = cl->y_u.oc.c; return; } cl = NEXTOP(cl,oc); @@ -1205,30 +1205,30 @@ add_arg_info(ClauseDef *clause, PredEntry *ap, UInt argno) case _unify_l_string: if (argno == 1) { clause->Tag = AbsAppl((CELL *)FunctorString); - clause->ucd.t_ptr = cl->u.ou.ut; + clause->ucd.t_ptr = cl->y_u.ou.ut; return; } cl = NEXTOP(cl,ou); argno--; break; case _unify_n_atoms: - if (argno <= cl->u.osc.s) { - clause->Tag = cl->u.osc.c; + if (argno <= cl->y_u.osc.s) { + clause->Tag = cl->y_u.osc.c; return; } - argno -= cl->u.osc.s; + argno -= cl->y_u.osc.s; case _unify_n_atoms_write: cl = NEXTOP(cl,osc); break; case _unify_struct: case _unify_l_struc: if (argno == 1) { - clause->Tag = AbsAppl((CELL *)cl->u.ofa.f); + clause->Tag = AbsAppl((CELL *)cl->y_u.ofa.f); clause->ucd.WorkPC = NEXTOP(cl,ofa); return; } /* must skip next n arguments */ - argno += cl->u.ofa.a-1; + argno += cl->y_u.ofa.a-1; case _unify_l_struc_write: case _unify_struct_write: cl = NEXTOP(cl,ofa); @@ -1343,11 +1343,11 @@ skip_to_arg(ClauseDef *clause, PredEntry *ap, UInt argno, int at_point) break; case _unify_n_voids: case _unify_l_n_voids: - if (argno <= cl->u.os.s) { + if (argno <= cl->y_u.os.s) { clause->CurrentCode = clause->Code; return; } else { - argno -= cl->u.os.s; + argno -= cl->y_u.os.s; } case _unify_n_voids_write: case _unify_l_n_voids_write: @@ -1901,8 +1901,8 @@ suspend_indexing(ClauseDef *min, ClauseDef *max, PredEntry *ap, struct intermedi if (cint->expand_block && cint->expand_block != (yamop *)(&(ap->cs.p_code.ExpandCode)) && - cint->expand_block->u.sssllp.s2 < 2*(max-min)) { - cint->expand_block->u.sssllp.s3++; + cint->expand_block->y_u.sssllp.s2 < 2*(max-min)) { + cint->expand_block->y_u.sssllp.s3++; return (UInt)(cint->expand_block); } if (cls < tcls/8) { @@ -1934,10 +1934,10 @@ suspend_indexing(ClauseDef *min, ClauseDef *max, PredEntry *ap, struct intermedi Yap_inform_profiler_of_clause(ncode, (CODEADDR)ncode+sz, ap, GPROF_NEW_EXPAND_BLOCK); /* create an expand_block */ ncode->opc = Yap_opcode(_expand_clauses); - ncode->u.sssllp.p = ap; - ncode->u.sssllp.s1 = tels; - ncode->u.sssllp.s2 = cls; - ncode->u.sssllp.s3 = 1; + ncode->y_u.sssllp.p = ap; + ncode->y_u.sssllp.s1 = tels; + ncode->y_u.sssllp.s2 = cls; + ncode->y_u.sssllp.s3 = 1; st = (yamop **)NEXTOP(ncode,sssllp); while (min <= max) { *st++ = min->Code; @@ -1948,10 +1948,10 @@ suspend_indexing(ClauseDef *min, ClauseDef *max, PredEntry *ap, struct intermedi cls++; } LOCK(ExpandClausesListLock); - ncode->u.sssllp.snext = ExpandClausesFirst; - ncode->u.sssllp.sprev = NULL; + ncode->y_u.sssllp.snext = ExpandClausesFirst; + ncode->y_u.sssllp.sprev = NULL; if (ExpandClausesFirst) - ExpandClausesFirst->u.sssllp.sprev = ncode; + ExpandClausesFirst->y_u.sssllp.sprev = ncode; ExpandClausesFirst = ncode; if (ExpandClausesLast == NULL) ExpandClausesLast = ncode; @@ -1964,31 +1964,31 @@ suspend_indexing(ClauseDef *min, ClauseDef *max, PredEntry *ap, struct intermedi static void recover_ecls_block(yamop *ipc) { - ipc->u.sssllp.s3--; - if (!ipc->u.sssllp.s3) { + ipc->y_u.sssllp.s3--; + if (!ipc->y_u.sssllp.s3) { LOCK(ExpandClausesListLock); if (ExpandClausesFirst == ipc) - ExpandClausesFirst = ipc->u.sssllp.snext; + ExpandClausesFirst = ipc->y_u.sssllp.snext; if (ExpandClausesLast == ipc) { - ExpandClausesLast = ipc->u.sssllp.sprev; + ExpandClausesLast = ipc->y_u.sssllp.sprev; } - if (ipc->u.sssllp.sprev) { - ipc->u.sssllp.sprev->u.sssllp.snext = ipc->u.sssllp.snext; + if (ipc->y_u.sssllp.sprev) { + ipc->y_u.sssllp.sprev->y_u.sssllp.snext = ipc->y_u.sssllp.snext; } - if (ipc->u.sssllp.snext) { - ipc->u.sssllp.snext->u.sssllp.sprev = ipc->u.sssllp.sprev; + if (ipc->y_u.sssllp.snext) { + ipc->y_u.sssllp.snext->y_u.sssllp.sprev = ipc->y_u.sssllp.sprev; } UNLOCK(ExpandClausesListLock); #if DEBUG Yap_ExpandClauses--; - Yap_expand_clauses_sz -= (UInt)(NEXTOP((yamop *)NULL,sssllp))+ipc->u.sssllp.s1*sizeof(yamop *); + Yap_expand_clauses_sz -= (UInt)(NEXTOP((yamop *)NULL,sssllp))+ipc->y_u.sssllp.s1*sizeof(yamop *); #endif /* no dangling pointers for gprof */ Yap_InformOfRemoval(ipc); - if (ipc->u.sssllp.p->PredFlags & LogUpdatePredFlag) { - Yap_LUIndexSpace_EXT -= (UInt)NEXTOP((yamop *)NULL,sssllp)+ipc->u.sssllp.s1*sizeof(yamop *); + if (ipc->y_u.sssllp.p->PredFlags & LogUpdatePredFlag) { + Yap_LUIndexSpace_EXT -= (UInt)NEXTOP((yamop *)NULL,sssllp)+ipc->y_u.sssllp.s1*sizeof(yamop *); } else - Yap_IndexSpace_EXT -= (UInt)NEXTOP((yamop *)NULL,sssllp)+ipc->u.sssllp.s1*sizeof(yamop *); + Yap_IndexSpace_EXT -= (UInt)NEXTOP((yamop *)NULL,sssllp)+ipc->y_u.sssllp.s1*sizeof(yamop *); Yap_FreeCodeSpace((char *)ipc); } } @@ -2109,7 +2109,7 @@ do_funcs(GroupDef *grp, Term t, struct intermediates *cint, UInt argno, int firs /* delay non-trivial indexing if (min != max && !IsExtensionFunctor(f)) { - ifs->u.Label = suspend_indexing(min, max, ap, cint); + ifs->y_u.Label = suspend_indexing(min, max, ap, cint); } else */ @@ -3331,10 +3331,10 @@ increase_expand_depth(yamop *ipc, struct intermediates *cint) cint->term_depth++; if (ipc->opc == Yap_opcode(_switch_on_sub_arg_type) && - (ncode = ipc->u.sllll.l4)->opc == Yap_opcode(_expand_clauses)) { - if (ncode->u.sssllp.s2 != cint->last_depth_size) { + (ncode = ipc->y_u.sllll.l4)->opc == Yap_opcode(_expand_clauses)) { + if (ncode->y_u.sssllp.s2 != cint->last_depth_size) { cint->last_index_new_depth = cint->term_depth; - cint->last_depth_size = ncode->u.sssllp.s2; + cint->last_depth_size = ncode->y_u.sssllp.s2; } } } @@ -3390,12 +3390,12 @@ expand_index(struct intermediates *cint) { case _retry: /* this clause had no indexing */ if (ap->PredFlags & LogUpdatePredFlag) { - first = ClauseCodeToLogUpdClause(ipc->u.Otapl.d)->ClNext->ClCode; + first = ClauseCodeToLogUpdClause(ipc->y_u.Otapl.d)->ClNext->ClCode; } else if (ap->PredFlags & MegaClausePredFlag) { MegaClause *mcl = ClauseCodeToMegaClause(ap->cs.p_code.FirstClause); - first = (yamop *)((char *)ipc->u.Otapl.d)+mcl->ClItemSize; + first = (yamop *)((char *)ipc->y_u.Otapl.d)+mcl->ClItemSize; } else { - first = ClauseCodeToStaticClause(ipc->u.Otapl.d)->ClNext->ClCode; + first = ClauseCodeToStaticClause(ipc->y_u.Otapl.d)->ClNext->ClCode; } isfirstcl = FALSE; ipc = NEXTOP(ipc,Otapl); @@ -3404,7 +3404,7 @@ expand_index(struct intermediates *cint) { case _table_try: case _table_retry: /* this clause had no indexing */ - first = ClauseCodeToStaticClause(PREVOP(ipc->u.Otapl.d,Otapl))->ClNext->ClCode; + first = ClauseCodeToStaticClause(PREVOP(ipc->y_u.Otapl.d,Otapl))->ClNext->ClCode; isfirstcl = FALSE; ipc = NEXTOP(ipc,Otapl); break; @@ -3417,12 +3417,12 @@ expand_index(struct intermediates *cint) { case _retry4: case _try_in: if (ap->PredFlags & LogUpdatePredFlag) { - first = ClauseCodeToLogUpdClause(ipc->u.l.l)->ClNext->ClCode; + first = ClauseCodeToLogUpdClause(ipc->y_u.l.l)->ClNext->ClCode; } else if (ap->PredFlags & MegaClausePredFlag) { MegaClause *mcl = ClauseCodeToMegaClause(ap->cs.p_code.FirstClause); - first = (yamop *)((char *)ipc->u.Otapl.d)+mcl->ClItemSize; + first = (yamop *)((char *)ipc->y_u.Otapl.d)+mcl->ClItemSize; } else { - first = ClauseCodeToStaticClause(ipc->u.l.l)->ClNext->ClCode; + first = ClauseCodeToStaticClause(ipc->y_u.l.l)->ClNext->ClCode; } isfirstcl = FALSE; ipc = NEXTOP(ipc,l); @@ -3439,7 +3439,7 @@ expand_index(struct intermediates *cint) { /* ok, we found the start for an indexing block, but we don't if we are going to operate here or not */ /* if we are to commit here, alt will tell us where */ - alt = ipc->u.Otapl.d; + alt = ipc->y_u.Otapl.d; ipc = NEXTOP(ipc,Otapl); /* start of a group, reset stack */ sp = stack; @@ -3469,16 +3469,16 @@ expand_index(struct intermediates *cint) { case _retry_logical: case _count_retry_logical: case _profiled_retry_logical: - ipc = ipc->u.OtaLl.n; + ipc = ipc->y_u.OtaLl.n; break; case _trust_logical: case _count_trust_logical: case _profiled_trust_logical: - ipc = ipc->u.OtILl.n; + ipc = ipc->y_u.OtILl.n; break; case _enter_lu_pred: /* no useful info */ - ipc = ipc->u.Illss.l1; + ipc = ipc->y_u.Illss.l1; break; case _retry_profiled: case _count_retry: @@ -3487,7 +3487,7 @@ expand_index(struct intermediates *cint) { break; case _jump: /* just skip for now, but should worry about memory management */ - ipc = ipc->u.l.l; + ipc = ipc->y_u.l.l; /* I don't know how up I will go */ parentcl.si = NULL; break; @@ -3500,22 +3500,22 @@ expand_index(struct intermediates *cint) { break; case _jump_if_var: if (IsVarTerm(Deref(ARG1))) { - labp = &(ipc->u.l.l); - ipc = ipc->u.l.l; + labp = &(ipc->y_u.l.l); + ipc = ipc->y_u.l.l; parentcl = index_jmp(parentcl, parentcl, ipc, is_lu, e_code); } else { ipc = NEXTOP(ipc,l); } break; case _jump_if_nonvar: - argno = arg_from_x(ipc->u.xll.x); + argno = arg_from_x(ipc->y_u.xll.x); t = Deref(XREGS[argno]); i = 0; /* expand_index expects to find the new argument */ if (!IsVarTerm(t)) { argno--; - labp = &(ipc->u.xll.l1); - ipc = ipc->u.xll.l1; + labp = &(ipc->y_u.xll.l1); + ipc = ipc->y_u.xll.l1; parentcl = index_jmp(parentcl, parentcl, ipc, is_lu, e_code); } else { @@ -3543,8 +3543,8 @@ expand_index(struct intermediates *cint) { ipc = NEXTOP(ipc,e); break; case _user_switch: - labp = &(ipc->u.lp.l); - ipc = ipc->u.lp.l; + labp = &(ipc->y_u.lp.l); + ipc = ipc->y_u.lp.l; break; /* instructions type e */ case _switch_on_type: @@ -3553,21 +3553,21 @@ expand_index(struct intermediates *cint) { argno = 1; i = 0; if (IsVarTerm(t)) { - labp = &(ipc->u.llll.l4); - ipc = ipc->u.llll.l4; + labp = &(ipc->y_u.llll.l4); + ipc = ipc->y_u.llll.l4; } else if (IsPairTerm(t)) { sp = push_stack(sp, 1, AbsPair(NULL), TermNil, cint); s_reg = RepPair(t); - labp = &(ipc->u.llll.l1); - ipc = ipc->u.llll.l1; + labp = &(ipc->y_u.llll.l1); + ipc = ipc->y_u.llll.l1; increase_expand_depth(ipc, cint); } else if (IsApplTerm(t)) { sp = push_stack(sp, 1, AbsAppl((CELL *)FunctorOfTerm(t)), TermNil, cint); - ipc = ipc->u.llll.l3; + ipc = ipc->y_u.llll.l3; increase_expand_depth(ipc, cint); } else { sp = push_stack(sp, argno, t, TermNil, cint); - ipc = ipc->u.llll.l2; + ipc = ipc->y_u.llll.l2; } parentcl = index_jmp(parentcl, parentcl, ipc, is_lu, e_code); break; @@ -3577,17 +3577,17 @@ expand_index(struct intermediates *cint) { argno = 1; i = 0; if (IsVarTerm(t)) { - labp = &(ipc->u.ollll.l4); - ipc = ipc->u.ollll.l4; + labp = &(ipc->y_u.ollll.l4); + ipc = ipc->y_u.ollll.l4; } else if (IsPairTerm(t)) { s_reg = RepPair(t); - labp = &(ipc->u.ollll.l1); + labp = &(ipc->y_u.ollll.l1); sp = push_stack(sp, 1, AbsPair(NULL), TermNil, cint); - ipc = ipc->u.ollll.l1; + ipc = ipc->y_u.ollll.l1; increase_expand_depth(ipc, cint); } else if (t == TermNil) { sp = push_stack(sp, 1, t, TermNil, cint); - ipc = ipc->u.ollll.l2; + ipc = ipc->y_u.ollll.l2; increase_expand_depth(ipc, cint); } else { Term tn; @@ -3598,53 +3598,53 @@ expand_index(struct intermediates *cint) { tn = t; } sp = push_stack(sp, argno, tn, TermNil, cint); - ipc = ipc->u.ollll.l3; + ipc = ipc->y_u.ollll.l3; } parentcl = index_jmp(parentcl, parentcl, ipc, is_lu, e_code); break; case _switch_on_arg_type: zero_expand_depth(ap, cint); - argno = arg_from_x(ipc->u.xllll.x); + argno = arg_from_x(ipc->y_u.xllll.x); i = 0; t = Deref(XREGS[argno]); if (IsVarTerm(t)) { - labp = &(ipc->u.xllll.l4); - ipc = ipc->u.xllll.l4; + labp = &(ipc->y_u.xllll.l4); + ipc = ipc->y_u.xllll.l4; } else if (IsPairTerm(t)) { s_reg = RepPair(t); sp = push_stack(sp, argno, AbsPair(NULL), TermNil, cint); - labp = &(ipc->u.xllll.l1); - ipc = ipc->u.xllll.l1; + labp = &(ipc->y_u.xllll.l1); + ipc = ipc->y_u.xllll.l1; increase_expand_depth(ipc, cint); } else if (IsApplTerm(t)) { sp = push_stack(sp, argno, AbsAppl((CELL *)FunctorOfTerm(t)), TermNil, cint); - ipc = ipc->u.xllll.l3; + ipc = ipc->y_u.xllll.l3; increase_expand_depth(ipc, cint); } else { sp = push_stack(sp, argno, t, TermNil, cint); - ipc = ipc->u.xllll.l2; + ipc = ipc->y_u.xllll.l2; } parentcl = index_jmp(parentcl, parentcl, ipc, is_lu, e_code); break; case _switch_on_sub_arg_type: - i = ipc->u.sllll.s; + i = ipc->y_u.sllll.s; t = Deref(s_reg[i]); if (i != arity-1) is_last_arg = FALSE; t = Deref(s_reg[i]); if (IsVarTerm(t)) { - labp = &(ipc->u.sllll.l4); - ipc = ipc->u.sllll.l4; + labp = &(ipc->y_u.sllll.l4); + ipc = ipc->y_u.sllll.l4; i++; } else if (IsPairTerm(t)) { s_reg = RepPair(t); sp = push_stack(sp, -i-1, AbsPair(NULL), TermNil, cint); - labp = &(ipc->u.sllll.l1); - ipc = ipc->u.sllll.l1; + labp = &(ipc->y_u.sllll.l1); + ipc = ipc->y_u.sllll.l1; i = 0; increase_expand_depth(ipc, cint); } else if (IsApplTerm(t)) { sp = push_stack(sp, -i-1, AbsAppl((CELL *)FunctorOfTerm(t)), TermNil, cint); - ipc = ipc->u.sllll.l3; + ipc = ipc->y_u.sllll.l3; i = 0; increase_expand_depth(ipc, cint); } else { @@ -3652,7 +3652,7 @@ expand_index(struct intermediates *cint) { sp = push_stack(sp, -i-1, t, cint); */ sp = push_stack(sp, -i-1, t, TermNil, cint); - ipc = ipc->u.sllll.l2; + ipc = ipc->y_u.sllll.l2; i++; } parentcl = index_jmp(parentcl, parentcl, ipc, is_lu, e_code); @@ -3673,19 +3673,19 @@ expand_index(struct intermediates *cint) { s_reg = RepAppl(t); f = (Functor)(*s_reg++); if (op == _switch_on_func) { - fe = lookup_f_hash(f,ipc->u.sssl.l,ipc->u.sssl.s); + fe = lookup_f_hash(f,ipc->y_u.sssl.l,ipc->y_u.sssl.s); } else { - fe = lookup_f(f,ipc->u.sssl.l,ipc->u.sssl.s); + fe = lookup_f(f,ipc->y_u.sssl.l,ipc->y_u.sssl.s); } newpc = fe->u_f.labp; labp = &(fe->u_f.labp); if (newpc == e_code) { /* we found it */ - parentcl = code_to_indexcl(ipc->u.sssl.l,is_lu); + parentcl = code_to_indexcl(ipc->y_u.sssl.l,is_lu); ipc = NULL; } else { - ClausePointer npar = code_to_indexcl(ipc->u.sssl.l,is_lu); + ClausePointer npar = code_to_indexcl(ipc->y_u.sssl.l,is_lu); ipc = newpc; parentcl = index_jmp(npar, parentcl, ipc, is_lu, e_code); } @@ -3698,18 +3698,18 @@ expand_index(struct intermediates *cint) { AtomSwiEntry *ae; if (op == _switch_on_cons) { - ae = lookup_c_hash(t,ipc->u.sssl.l,ipc->u.sssl.s); + ae = lookup_c_hash(t,ipc->y_u.sssl.l,ipc->y_u.sssl.s); } else { - ae = lookup_c(t,ipc->u.sssl.l,ipc->u.sssl.s); + ae = lookup_c(t,ipc->y_u.sssl.l,ipc->y_u.sssl.s); } labp = &(ae->u_a.labp); if (ae->u_a.labp == e_code) { /* we found it */ - parentcl = code_to_indexcl(ipc->u.sssl.l,is_lu); + parentcl = code_to_indexcl(ipc->y_u.sssl.l,is_lu); ipc = NULL; } else { - ClausePointer npar = code_to_indexcl(ipc->u.sssl.l,is_lu); + ClausePointer npar = code_to_indexcl(ipc->y_u.sssl.l,is_lu); ipc = ae->u_a.labp; parentcl = index_jmp(npar, parentcl, ipc, is_lu, e_code); } @@ -3720,7 +3720,7 @@ expand_index(struct intermediates *cint) { if (alt != NULL && ap->PredFlags & LogUpdatePredFlag) { op_numbers fop = Yap_op_from_opcode(alt->opc); if (fop == _enter_lu_pred) - alt = alt->u.Illss.l1; + alt = alt->y_u.Illss.l1; } ipc = NULL; break; @@ -3735,7 +3735,7 @@ expand_index(struct intermediates *cint) { ipc = NULL; } else { /* backtrack */ - first = alt->u.Otapl.d; + first = alt->y_u.Otapl.d; ipc = alt; alt = NULL; } @@ -3767,20 +3767,20 @@ expand_index(struct intermediates *cint) { op_numbers op = Yap_op_from_opcode(alt->opc); /* can we be here */ if (op >= _retry2 && op <= _retry4) { - last = alt->u.l.l; + last = alt->y_u.l.l; } else { - last = alt->u.Otapl.d; + last = alt->y_u.Otapl.d; } } else { op_numbers op = Yap_op_from_opcode(alt->opc); if (op == _retry || op == _trust) { - last = alt->u.Otapl.d; + last = alt->y_u.Otapl.d; #ifdef TABLING } else if (op == _table_retry || op == _table_trust) { - last = PREVOP(alt->u.Otapl.d,Otapl); + last = PREVOP(alt->y_u.Otapl.d,Otapl); #endif /* TABLING */ } else if (op >= _retry2 && op <= _retry4) { - last = alt->u.l.l; + last = alt->y_u.l.l; } } fail_l = (UInt)alt; @@ -3791,7 +3791,7 @@ expand_index(struct intermediates *cint) { /* ok, we know how many clauses */ yamop *ipc = *labp; /* check all slots, not just the ones with values */ - COUNT nclauses = ipc->u.sssllp.s1; + COUNT nclauses = ipc->y_u.sssllp.s1; yamop **clp = (yamop **)NEXTOP(ipc,sssllp); cint->expand_block = ipc; @@ -4256,36 +4256,36 @@ pop_path(path_stack_entry **spp, ClauseDef *clp, PredEntry *ap, struct intermedi static int table_fe_overflow(yamop *pc, Functor f) { - if (pc->u.sssl.s <= MIN_HASH_ENTRIES) { + if (pc->y_u.sssl.s <= MIN_HASH_ENTRIES) { /* we cannot expand otherwise */ COUNT i; - FuncSwiEntry *csw = (FuncSwiEntry *)pc->u.sssl.l; + FuncSwiEntry *csw = (FuncSwiEntry *)pc->y_u.sssl.l; - for (i=0; i < pc->u.sssl.s; i++,csw++) { + for (i=0; i < pc->y_u.sssl.s; i++,csw++) { if (csw->Tag == f) return FALSE; } return TRUE; } else { - COUNT free = pc->u.sssl.s-pc->u.sssl.e; - return (!free || pc->u.sssl.s/free > 4); + COUNT free = pc->y_u.sssl.s-pc->y_u.sssl.e; + return (!free || pc->y_u.sssl.s/free > 4); } } static int table_ae_overflow(yamop *pc, Term at) { - if (pc->u.sssl.s <= MIN_HASH_ENTRIES) { + if (pc->y_u.sssl.s <= MIN_HASH_ENTRIES) { /* check if we are already there */ COUNT i; - AtomSwiEntry *csw = (AtomSwiEntry *)pc->u.sssl.l; + AtomSwiEntry *csw = (AtomSwiEntry *)pc->y_u.sssl.l; - for (i=0; i < pc->u.sssl.s; i++,csw++) { + for (i=0; i < pc->y_u.sssl.s; i++,csw++) { if (csw->Tag == at) return FALSE; } return TRUE; } else { - COUNT free = pc->u.sssl.s-pc->u.sssl.e; - return (!free || pc->u.sssl.s/free > 4); + COUNT free = pc->y_u.sssl.s-pc->y_u.sssl.e; + return (!free || pc->y_u.sssl.s/free > 4); } } @@ -4346,16 +4346,16 @@ static AtomSwiEntry * expand_ctable(yamop *pc, ClauseUnion *blk, struct intermediates *cint, Term at) { PredEntry *ap = cint->CurrentPred; - int n = pc->u.sssl.s, i, i0 = n; + int n = pc->y_u.sssl.s, i, i0 = n; UInt fail_l = Zero; - AtomSwiEntry *old_ae = (AtomSwiEntry *)(pc->u.sssl.l), *target; + AtomSwiEntry *old_ae = (AtomSwiEntry *)(pc->y_u.sssl.l), *target; if (n > MIN_HASH_ENTRIES) { AtomSwiEntry *tmp = old_ae; int i; n = 1; - for (i = 0; i < pc->u.sssl.s; i++,tmp++) { + for (i = 0; i < pc->y_u.sssl.s; i++,tmp++) { if (tmp->Tag != Zero) n++; else fail_l = tmp->u_a.Label; } @@ -4367,20 +4367,20 @@ expand_ctable(yamop *pc, ClauseUnion *blk, struct intermediates *cint, Term at) int cases = MIN_HASH_ENTRIES, i, n0; n0 = n+1+n/4; while (cases < n0) cases *= 2; - if (cases == pc->u.sssl.s) { + if (cases == pc->y_u.sssl.s) { return fetch_centry(old_ae, at, n-1, n); } /* initialise */ target = (AtomSwiEntry *)emit_switch_space(cases, sizeof(AtomSwiEntry), cint, 0); pc->opc = Yap_opcode(_switch_on_cons); - pc->u.sssl.s = cases; + pc->y_u.sssl.s = cases; for (i=0; iopc = Yap_opcode(_if_cons); - pc->u.sssl.s = n; + pc->y_u.sssl.s = n; target = (AtomSwiEntry *)emit_switch_space(n+1, sizeof(AtomSwiEntry), cint, 0); target[n].Tag = Zero; target[n].u_a.Label = fail_l; @@ -4396,8 +4396,8 @@ expand_ctable(yamop *pc, ClauseUnion *blk, struct intermediates *cint, Term at) } /* support for threads */ if (blk) - replace_index_block(blk, pc->u.sssl.l, (yamop *)target, ap); - pc->u.sssl.l = (yamop *)target; + replace_index_block(blk, pc->y_u.sssl.l, (yamop *)target, ap); + pc->y_u.sssl.l = (yamop *)target; return fetch_centry(target, at, n-1, n); } @@ -4405,16 +4405,16 @@ static FuncSwiEntry * expand_ftable(yamop *pc, ClauseUnion *blk, struct intermediates *cint, Functor f) { PredEntry *ap = cint->CurrentPred; - int n = pc->u.sssl.s, i, i0 = n; + int n = pc->y_u.sssl.s, i, i0 = n; UInt fail_l = Zero; - FuncSwiEntry *old_fe = (FuncSwiEntry *)(pc->u.sssl.l), *target; + FuncSwiEntry *old_fe = (FuncSwiEntry *)(pc->y_u.sssl.l), *target; if (n > MIN_HASH_ENTRIES) { FuncSwiEntry *tmp = old_fe; int i; n = 1; - for (i = 0; i < pc->u.sssl.s; i++,tmp++) { + for (i = 0; i < pc->y_u.sssl.s; i++,tmp++) { if (tmp->Tag != Zero) n++; else fail_l = tmp->u_f.Label; } @@ -4427,13 +4427,13 @@ expand_ftable(yamop *pc, ClauseUnion *blk, struct intermediates *cint, Functor f n0 = n+1+n/4; while (cases < n0) cases *= 2; - if (cases == pc->u.sssl.s) { + if (cases == pc->y_u.sssl.s) { return fetch_fentry(old_fe, f, n-1, n); } pc->opc = Yap_opcode(_switch_on_func); - pc->u.sssl.s = cases; - pc->u.sssl.e = n; - pc->u.sssl.w = 0; + pc->y_u.sssl.s = cases; + pc->y_u.sssl.e = n; + pc->y_u.sssl.w = 0; /* initialise */ target = (FuncSwiEntry *)emit_switch_space(cases, sizeof(FuncSwiEntry), cint, FuncSwitchMask); for (i=0; iopc = Yap_opcode(_if_func); - pc->u.sssl.s = n; - pc->u.sssl.e = n; - pc->u.sssl.w = 0; + pc->y_u.sssl.s = n; + pc->y_u.sssl.e = n; + pc->y_u.sssl.w = 0; target = (FuncSwiEntry *)emit_switch_space(n+1, sizeof(FuncSwiEntry), cint, FuncSwitchMask); target[n].Tag = Zero; target[n].u_f.Label = fail_l; @@ -4458,8 +4458,8 @@ expand_ftable(yamop *pc, ClauseUnion *blk, struct intermediates *cint, Functor f ifs->u_f.Label = old_fe->u_f.Label; } } - replace_index_block(blk, pc->u.sssl.l, (yamop *)target, ap); - pc->u.sssl.l = (yamop *)target; + replace_index_block(blk, pc->y_u.sssl.l, (yamop *)target, ap); + pc->y_u.sssl.l = (yamop *)target; return fetch_fentry(target, f, n-1, n); } @@ -4502,38 +4502,38 @@ kill_block(path_stack_entry *sp, PredEntry *ap) static LogUpdClause * find_last_clause(yamop *start) { - while (start->u.OtaLl.d->ClFlags & ErasedMask) - start = start->u.OtaLl.n; + while (start->y_u.OtaLl.d->ClFlags & ErasedMask) + start = start->y_u.OtaLl.n; /* this should be the available clause */ - return start->u.OtaLl.d; + return start->y_u.OtaLl.d; } static void remove_clause_from_index(yamop *header, LogUpdClause *cl) { - yamop **prevp = &(header->u.Illss.l1); - yamop *curp = header->u.Illss.l1; + yamop **prevp = &(header->y_u.Illss.l1); + yamop *curp = header->y_u.Illss.l1; - if (curp->u.OtaLl.d == cl) { - yamop *newp = curp->u.OtaLl.n; + if (curp->y_u.OtaLl.d == cl) { + yamop *newp = curp->y_u.OtaLl.n; newp->opc = curp->opc; *prevp = newp; } else { yamop *ocurp = NULL, *ocurp0 = curp; - while (curp->u.OtaLl.d != cl) { + while (curp->y_u.OtaLl.d != cl) { ocurp = curp; - curp = curp->u.OtaLl.n; + curp = curp->y_u.OtaLl.n; } /* in case we were the last */ - if (curp == header->u.Illss.l2) - header->u.Illss.l2 = ocurp; + if (curp == header->y_u.Illss.l2) + header->y_u.Illss.l2 = ocurp; if (ocurp != ocurp0) ocurp->opc = curp->opc; - ocurp->u.OtILl.n = curp->u.OtaLl.n; - ocurp->u.OtILl.block = curp->u.OtILl.block; + ocurp->y_u.OtILl.n = curp->y_u.OtaLl.n; + ocurp->y_u.OtILl.block = curp->y_u.OtILl.block; } - header->u.Illss.e--; + header->y_u.Illss.e--; #if DEBUG Yap_DirtyCps--; Yap_FreedCps++; @@ -4549,39 +4549,39 @@ remove_dirty_clauses_from_index(yamop *header) LogUpdClause *cl; yamop *previouscurp; OPCODE endop = Yap_opcode(_trust_logical); - yamop **prevp= &(header->u.Illss.l1), *curp = header->u.Illss.l1; + yamop **prevp= &(header->y_u.Illss.l1), *curp = header->y_u.Illss.l1; OPCODE startopc = curp->opc; - PredEntry *ap = curp->u.OtaLl.d->ClPred; + PredEntry *ap = curp->y_u.OtaLl.d->ClPred; if (ap->PredFlags & CountPredFlag) endop = Yap_opcode(_count_trust_logical); else if (ap->PredFlags & ProfiledPredFlag) endop = Yap_opcode(_profiled_trust_logical); - while ((cl = curp->u.OtaLl.d) && (cl->ClFlags & ErasedMask)) { + while ((cl = curp->y_u.OtaLl.d) && (cl->ClFlags & ErasedMask)) { yamop *ocurp = curp; - header->u.Illss.e--; + header->y_u.Illss.e--; #if DEBUG Yap_DirtyCps--; Yap_FreedCps++; #endif //if (ap->ModuleOfPred!=IDB_MODULE && !strcmp(RepAtom(NameOfFunctor(ap->FunctorOfPred))->StrOfAE, "$lgt_send_to_obj_ne_")) - // printf(" L %p %p %d %p\n", curp, curp->u.OtaLl.n, header->u.Illss.e, curp->opc); + // printf(" L %p %p %d %p\n", curp, curp->y_u.OtaLl.n, header->y_u.Illss.e, curp->opc); clean_ref_to_clause(cl); - curp = curp->u.OtaLl.n; + curp = curp->y_u.OtaLl.n; Yap_LUIndexSpace_CP -= (UInt)NEXTOP((yamop*)NULL,OtaLl); Yap_FreeCodeSpace((ADDR)ocurp); - if (ocurp == header->u.Illss.l2) { - LogUpdIndex *clau = header->u.Illss.I; + if (ocurp == header->y_u.Illss.l2) { + LogUpdIndex *clau = header->y_u.Illss.I; /* no clauses left */ if (clau->ClFlags & ErasedMask) { Yap_ErLogUpdIndex(clau); return; } - header->u.Illss.l1 = - header->u.Illss.l2 = NULL; - header->u.Illss.s = - header->u.Illss.e = 0; + header->y_u.Illss.l1 = + header->y_u.Illss.l2 = NULL; + header->y_u.Illss.s = + header->y_u.Illss.e = 0; return; } } @@ -4590,15 +4590,15 @@ remove_dirty_clauses_from_index(yamop *header) if (curp->opc == endop) return; // don't try to follow the chain if there is no chain. - if (header->u.Illss.e <= 1) + if (header->y_u.Illss.e <= 1) return; previouscurp = curp; - curp = curp->u.OtaLl.n; + curp = curp->y_u.OtaLl.n; while (TRUE) { - if ((cl = curp->u.OtaLl.d)->ClFlags & ErasedMask) { + if ((cl = curp->y_u.OtaLl.d)->ClFlags & ErasedMask) { yamop *ocurp = curp; - header->u.Illss.e--; + header->y_u.Illss.e--; #if DEBUG Yap_DirtyCps--; Yap_FreedCps++; @@ -4606,26 +4606,26 @@ remove_dirty_clauses_from_index(yamop *header) clean_ref_to_clause(cl); if (curp->opc == endop) { previouscurp->opc = endop; - previouscurp->u.OtILl.block = curp->u.OtILl.block; - previouscurp->u.OtILl.n = NULL; - header->u.Illss.l2 = previouscurp; + previouscurp->y_u.OtILl.block = curp->y_u.OtILl.block; + previouscurp->y_u.OtILl.n = NULL; + header->y_u.Illss.l2 = previouscurp; Yap_LUIndexSpace_CP -= (UInt)NEXTOP((yamop*)NULL,OtILl); Yap_FreeCodeSpace((ADDR)curp); return; } - previouscurp->u.OtaLl.n = curp->u.OtaLl.n; - curp = curp->u.OtaLl.n; + previouscurp->y_u.OtaLl.n = curp->y_u.OtaLl.n; + curp = curp->y_u.OtaLl.n; Yap_LUIndexSpace_CP -= (UInt)NEXTOP((yamop*)NULL,OtaLl); Yap_FreeCodeSpace((ADDR)ocurp); - if (!header->u.Illss.e) + if (!header->y_u.Illss.e) return; } else { previouscurp = curp; if (curp->opc == endop) { - curp->u.OtILl.n = NULL; + curp->y_u.OtILl.n = NULL; return; } - curp = curp->u.OtaLl.n; + curp = curp->y_u.OtaLl.n; } } } @@ -4655,15 +4655,15 @@ kill_clause(yamop *ipc, yamop *bg, yamop *lt, path_stack_entry *sp0, PredEntry * return kill_block(sp+1, ap); } /* weird case ????? */ - if (!start->u.Illss.s){ + if (!start->y_u.Illss.s){ /* ERROR */ Yap_Error(INTERNAL_ERROR, TermNil, "Illss.s == 0 %p", ipc); return sp; } - if (start->u.Illss.s == 1) { + if (start->y_u.Illss.s == 1) { /* we need to discover which clause is left and then die */ path_stack_entry *nsp; - LogUpdClause *tgl = find_last_clause(start->u.Illss.l1); + LogUpdClause *tgl = find_last_clause(start->y_u.Illss.l1); nsp = sp; while ((--nsp)->flag != block_entry); @@ -4751,19 +4751,19 @@ static_clause(yamop *ipc, PredEntry *ap, int trust) switch (op) { case _p_db_ref_x: case _p_float_x: - j = Yap_regnotoreg(ipc->u.xl.x); + j = Yap_regnotoreg(ipc->y_u.xl.x); break; case _get_list: - j = Yap_regnotoreg(ipc->u.x.x); + j = Yap_regnotoreg(ipc->y_u.x.x); break; case _get_atom: - j = Yap_regnotoreg(ipc->u.xc.x); + j = Yap_regnotoreg(ipc->y_u.xc.x); break; case _get_float: - j = Yap_regnotoreg(ipc->u.xd.x); + j = Yap_regnotoreg(ipc->y_u.xd.x); break; case _get_struct: - j = Yap_regnotoreg(ipc->u.xd.x); + j = Yap_regnotoreg(ipc->y_u.xd.x); break; case _get_2atoms: case _get_3atoms: @@ -4843,7 +4843,7 @@ compacta_expand_clauses(yamop *ipc) yamop **start = (yamop **)(NEXTOP(ipc,sssllp)); yamop **ptr, **end; - ptr = end = start+ipc->u.sssllp.s1; + ptr = end = start+ipc->y_u.sssllp.s1; while (ptr > start) { yamop *next = *--ptr; @@ -4866,7 +4866,7 @@ compactz_expand_clauses(yamop *ipc) yamop **start = (yamop **)(NEXTOP(ipc,sssllp)); yamop **ptr, **end; - end = start+ipc->u.sssllp.s1; + end = start+ipc->y_u.sssllp.s1; ptr = start; while (ptr < end) { @@ -4899,19 +4899,19 @@ add_to_expand_clauses(path_stack_entry **spp, yamop *ipc, ClauseDef *cls, PredEn while (*clar == NULL) clar++; if (clar[0] != cls->Code) { clar[-1] = cls->Code; - ipc->u.sssllp.s2++; + ipc->y_u.sssllp.s2++; } return pop_path(spp, cls, ap, cint); } } while (compacta_expand_clauses(ipc)); } else { do { - clar = (yamop **)NEXTOP(ipc,sssllp) + ipc->u.sssllp.s1; + clar = (yamop **)NEXTOP(ipc,sssllp) + ipc->y_u.sssllp.s1; if (clar[-1] == NULL || clar[-1] == cls->Code) { while (*--clar == NULL); if (clar[0] != cls->Code) { clar[1] = cls->Code; - ipc->u.sssllp.s2++; + ipc->y_u.sssllp.s2++; } return pop_path(spp, cls, ap, cint); } @@ -4930,19 +4930,19 @@ static void nullify_expand_clause(yamop *ipc, path_stack_entry *sp, ClauseDef *cls) { yamop **st = (yamop **)NEXTOP(ipc,sssllp); - yamop **max = st+ipc->u.sssllp.s1; + yamop **max = st+ipc->y_u.sssllp.s1; /* make sure we get rid of the reference */ while (st < max) { if (*st && *st == cls->Code) { *st = NULL; - ipc->u.sssllp.s2--; + ipc->y_u.sssllp.s2--; break; } st++; } /* if the block has a single element */ - if (ipc->u.sssllp.s2 == 1) { + if (ipc->y_u.sssllp.s2 == 1) { yamop **st = (yamop **)NEXTOP(ipc,sssllp); while ((--sp)->flag != block_entry); while (TRUE) { @@ -4974,9 +4974,9 @@ add_try(PredEntry *ap, ClauseDef *cls, yamop *next, struct intermediates *cint) Yap_LiveCps++; #endif newcp->opc = Yap_opcode(_try_logical); - newcp->u.OtaLl.s = ap->ArityOfPE; - newcp->u.OtaLl.n = next; - newcp->u.OtaLl.d = lcl; + newcp->y_u.OtaLl.s = ap->ArityOfPE; + newcp->y_u.OtaLl.n = next; + newcp->y_u.OtaLl.d = lcl; lcl->ClRefCount++; return newcp; } @@ -5005,9 +5005,9 @@ add_trust(LogUpdIndex *icl, ClauseDef *cls, struct intermediates *cint) newcp->opc = Yap_opcode(_profiled_trust_logical); else newcp->opc = Yap_opcode(_trust_logical); - newcp->u.OtILl.block = icl; - newcp->u.OtILl.n = NULL; - newcp->u.OtILl.d = lcl; + newcp->y_u.OtILl.block = icl; + newcp->y_u.OtILl.n = NULL; + newcp->y_u.OtILl.d = lcl; lcl->ClRefCount++; return newcp; } @@ -5038,20 +5038,20 @@ add_to_index(struct intermediates *cint, int first, path_stack_entry *sp, Clause /* ERROR */ break; case _enter_lu_pred: - ipc->u.Illss.s++; - icl = ipc->u.Illss.I; + ipc->y_u.Illss.s++; + icl = ipc->y_u.Illss.I; if (first) { if (ap->PredFlags & CountPredFlag) - ipc->u.Illss.l1->opc = Yap_opcode(_count_retry_logical); + ipc->y_u.Illss.l1->opc = Yap_opcode(_count_retry_logical); else if (ap->PredFlags & ProfiledPredFlag) - ipc->u.Illss.l1->opc = Yap_opcode(_profiled_retry_logical); + ipc->y_u.Illss.l1->opc = Yap_opcode(_profiled_retry_logical); else - ipc->u.Illss.l1->opc = Yap_opcode(_retry_logical); - ipc->u.Illss.l1 = add_try(ap, cls, ipc->u.Illss.l1, cint); + ipc->y_u.Illss.l1->opc = Yap_opcode(_retry_logical); + ipc->y_u.Illss.l1 = add_try(ap, cls, ipc->y_u.Illss.l1, cint); } else { /* just go to next instruction */ yamop *end = add_trust(icl, cls, cint), - *old = ipc->u.Illss.l2; + *old = ipc->y_u.Illss.l2; /* we used to have two clauses */ if (ap->PredFlags & CountPredFlag) @@ -5060,9 +5060,9 @@ add_to_index(struct intermediates *cint, int first, path_stack_entry *sp, Clause old->opc = Yap_opcode(_profiled_retry_logical); else old->opc = Yap_opcode(_retry_logical); - old->u.OtaLl.n = end; - old->u.OtaLl.s = ap->ArityOfPE; - ipc->u.Illss.l2 = end; + old->y_u.OtaLl.n = end; + old->y_u.OtaLl.s = ap->ArityOfPE; + ipc->y_u.Illss.l2 = end; } ipc = pop_path(&sp, cls, ap, cint); break; @@ -5106,14 +5106,14 @@ add_to_index(struct intermediates *cint, int first, path_stack_entry *sp, Clause case _retry_me: /* should never be reached both for asserta */ group1 = FALSE; - ipc = ipc->u.Otapl.d; + ipc = ipc->y_u.Otapl.d; break; case _try_me: if (first) { ipc = NEXTOP(ipc,Otapl); - alt = ipc->u.Otapl.d; + alt = ipc->y_u.Otapl.d; } else { - ipc = ipc->u.Otapl.d; + ipc = ipc->y_u.Otapl.d; group1 = FALSE; } break; @@ -5132,18 +5132,18 @@ add_to_index(struct intermediates *cint, int first, path_stack_entry *sp, Clause ipc = pop_path(&sp, cls, ap, cint); break; case _jump: - sp = cross_block(sp, &ipc->u.l.l, ap, cint); + sp = cross_block(sp, &ipc->y_u.l.l, ap, cint); /* just skip for now, but should worry about memory management */ - ipc = ipc->u.l.l; + ipc = ipc->y_u.l.l; break; case _jump_if_var: - sp = push_path(sp, &(ipc->u.l.l), cls, cint); + sp = push_path(sp, &(ipc->y_u.l.l), cls, cint); ipc = NEXTOP(ipc,l); break; case _jump_if_nonvar: - sp = push_path(sp, &(ipc->u.xll.l2), cls, cint); - sp = cross_block(sp, &ipc->u.xll.l1, ap, cint); - ipc = ipc->u.xll.l1; + sp = push_path(sp, &(ipc->y_u.xll.l2), cls, cint); + sp = cross_block(sp, &ipc->y_u.xll.l1, ap, cint); + ipc = ipc->y_u.xll.l1; break; /* instructions type EC */ case _try_in: @@ -5156,36 +5156,36 @@ add_to_index(struct intermediates *cint, int first, path_stack_entry *sp, Clause } break; case _user_switch: - ipc = ipc->u.lp.l; + ipc = ipc->y_u.lp.l; break; /* instructions type e */ case _switch_on_type: - sp = push_path(sp, &(ipc->u.llll.l4), cls, cint); + sp = push_path(sp, &(ipc->y_u.llll.l4), cls, cint); if (ap->PredFlags & LogUpdatePredFlag) { add_head_info(cls, 1); } else { add_info(cls, 1); } if (IsPairTerm(cls->Tag)) { - yamop *nipc = ipc->u.llll.l1; + yamop *nipc = ipc->y_u.llll.l1; current_arity = 2; move_next(cls, 1); if (nipc == FAILCODE) { /* jump straight to clause */ if (ap->PredFlags & LogUpdatePredFlag) { - ipc->u.llll.l1 = cls->Code; + ipc->y_u.llll.l1 = cls->Code; } else { - ipc->u.llll.l1 = cls->CurrentCode; + ipc->y_u.llll.l1 = cls->CurrentCode; } ipc = pop_path(&sp, cls, ap, cint); } else { /* go on */ - sp = cross_block(sp, &ipc->u.llll.l1, ap, cint); + sp = cross_block(sp, &ipc->y_u.llll.l1, ap, cint); ipc = nipc; } } else if (IsAtomOrIntTerm(cls->Tag)) { - yamop *nipc = ipc->u.llll.l2; + yamop *nipc = ipc->y_u.llll.l2; move_next(cls, 1); if (nipc == FAILCODE) { /* need to expand the block */ @@ -5196,7 +5196,7 @@ add_to_index(struct intermediates *cint, int first, path_stack_entry *sp, Clause ipc = nipc; } } else if (IsApplTerm(cls->Tag)) { - yamop *nipc = ipc->u.llll.l3; + yamop *nipc = ipc->y_u.llll.l3; if (nipc == FAILCODE) { /* need to expand the block */ sp = kill_block(sp, ap); @@ -5218,33 +5218,33 @@ add_to_index(struct intermediates *cint, int first, path_stack_entry *sp, Clause ipc = pop_path(&sp, cls, ap, cint); break; case _switch_on_arg_type: - sp = push_path(sp, &(ipc->u.xllll.l4), cls, cint); + sp = push_path(sp, &(ipc->y_u.xllll.l4), cls, cint); if (ap->PredFlags & LogUpdatePredFlag) { - add_head_info(cls, Yap_regtoregno(ipc->u.xllll.x)); + add_head_info(cls, Yap_regtoregno(ipc->y_u.xllll.x)); } else { - add_info(cls, Yap_regtoregno(ipc->u.xllll.x)); + add_info(cls, Yap_regtoregno(ipc->y_u.xllll.x)); } if (IsPairTerm(cls->Tag)) { - yamop *nipc = ipc->u.xllll.l1; + yamop *nipc = ipc->y_u.xllll.l1; current_arity = 2; - move_next(cls, Yap_regtoregno(ipc->u.xllll.x)); + move_next(cls, Yap_regtoregno(ipc->y_u.xllll.x)); if (nipc == FAILCODE) { /* jump straight to clause */ if (ap->PredFlags & LogUpdatePredFlag) { - ipc->u.xllll.l1 = cls->Code; + ipc->y_u.xllll.l1 = cls->Code; } else { - ipc->u.xllll.l1 = cls->CurrentCode; + ipc->y_u.xllll.l1 = cls->CurrentCode; } ipc = pop_path(&sp, cls, ap, cint); } else { /* go on */ - sp = cross_block(sp, &ipc->u.xllll.l1, ap, cint); + sp = cross_block(sp, &ipc->y_u.xllll.l1, ap, cint); ipc = nipc; } } else if (IsAtomOrIntTerm(cls->Tag)) { - yamop *nipc = ipc->u.xllll.l2; - move_next(cls, Yap_regtoregno(ipc->u.xllll.x)); + yamop *nipc = ipc->y_u.xllll.l2; + move_next(cls, Yap_regtoregno(ipc->y_u.xllll.x)); if (nipc == FAILCODE) { /* need to expand the block */ sp = kill_block(sp, ap); @@ -5254,8 +5254,8 @@ add_to_index(struct intermediates *cint, int first, path_stack_entry *sp, Clause ipc = nipc; } } else if (IsApplTerm(cls->Tag)) { - yamop *nipc = ipc->u.xllll.l3; - move_next(cls, Yap_regtoregno(ipc->u.xllll.x)); + yamop *nipc = ipc->y_u.xllll.l3; + move_next(cls, Yap_regtoregno(ipc->y_u.xllll.x)); if (nipc == FAILCODE) { /* need to expand the block */ sp = kill_block(sp, ap); @@ -5273,28 +5273,28 @@ add_to_index(struct intermediates *cint, int first, path_stack_entry *sp, Clause } break; case _switch_on_sub_arg_type: - sp = push_path(sp, &(ipc->u.sllll.l4), cls, cint); - add_arg_info(cls, ap, ipc->u.sllll.s+1); + sp = push_path(sp, &(ipc->y_u.sllll.l4), cls, cint); + add_arg_info(cls, ap, ipc->y_u.sllll.s+1); if (IsPairTerm(cls->Tag)) { - yamop *nipc = ipc->u.sllll.l1; + yamop *nipc = ipc->y_u.sllll.l1; current_arity = 2; - skip_to_arg(cls, ap, ipc->u.sllll.s, current_arity); + skip_to_arg(cls, ap, ipc->y_u.sllll.s, current_arity); if (nipc == FAILCODE) { /* jump straight to clause */ if (ap->PredFlags & LogUpdatePredFlag) { - ipc->u.sllll.l1 = cls->Code; + ipc->y_u.sllll.l1 = cls->Code; } else { - ipc->u.sllll.l1 = cls->CurrentCode; + ipc->y_u.sllll.l1 = cls->CurrentCode; } ipc = pop_path(&sp, cls, ap, cint); } else { /* go on */ - sp = cross_block(sp, &ipc->u.sllll.l1, ap, cint); + sp = cross_block(sp, &ipc->y_u.sllll.l1, ap, cint); ipc = nipc; } } else if (IsAtomOrIntTerm(cls->Tag)) { - yamop *nipc = ipc->u.sllll.l2; - skip_to_arg(cls, ap, ipc->u.sllll.s, current_arity); + yamop *nipc = ipc->y_u.sllll.l2; + skip_to_arg(cls, ap, ipc->y_u.sllll.s, current_arity); if (nipc == FAILCODE) { /* need to expand the block */ sp = kill_block(sp, ap); @@ -5304,8 +5304,8 @@ add_to_index(struct intermediates *cint, int first, path_stack_entry *sp, Clause ipc = nipc; } } else if (IsApplTerm(cls->Tag)) { - yamop *nipc = ipc->u.sllll.l3; - skip_to_arg(cls, ap, ipc->u.sllll.s, current_arity); + yamop *nipc = ipc->y_u.sllll.l3; + skip_to_arg(cls, ap, ipc->y_u.sllll.s, current_arity); if (nipc == FAILCODE) { /* need to expand the block */ sp = kill_block(sp, ap); @@ -5335,9 +5335,9 @@ add_to_index(struct intermediates *cint, int first, path_stack_entry *sp, Clause Functor f = (Functor)RepAppl(cls->Tag); if (op == _switch_on_func) { - fe = lookup_f_hash(f, ipc->u.sssl.l, ipc->u.sssl.s); + fe = lookup_f_hash(f, ipc->y_u.sssl.l, ipc->y_u.sssl.s); } else { - fe = lookup_f(f, ipc->u.sssl.l, ipc->u.sssl.s); + fe = lookup_f(f, ipc->y_u.sssl.l, ipc->y_u.sssl.s); } if (!IsExtensionFunctor(f)) { current_arity = ArityOfFunctor(f); @@ -5358,7 +5358,7 @@ add_to_index(struct intermediates *cint, int first, path_stack_entry *sp, Clause fe = expand_ftable(ipc, current_block(sp), cint, f); } fe->Tag = f; - ipc->u.sssl.e++; + ipc->y_u.sssl.e++; } if (ap->PredFlags & LogUpdatePredFlag) { fe->u_f.labp = cls->Code; @@ -5368,7 +5368,7 @@ add_to_index(struct intermediates *cint, int first, path_stack_entry *sp, Clause ipc = pop_path(&sp, cls, ap, cint); } else { yamop *newpc = fe->u_f.labp; - sp = fetch_new_block(sp, &(ipc->u.sssl.l), ap, cint); + sp = fetch_new_block(sp, &(ipc->y_u.sssl.l), ap, cint); sp = cross_block(sp, &(fe->u_f.labp), ap, cint); ipc = newpc; } @@ -5395,9 +5395,9 @@ add_to_index(struct intermediates *cint, int first, path_stack_entry *sp, Clause Term at = cls->Tag; if (op == _switch_on_cons) { - ae = lookup_c_hash(at,ipc->u.sssl.l,ipc->u.sssl.s); + ae = lookup_c_hash(at,ipc->y_u.sssl.l,ipc->y_u.sssl.s); } else { - ae = lookup_c(at, ipc->u.sssl.l, ipc->u.sssl.s); + ae = lookup_c(at, ipc->y_u.sssl.l, ipc->y_u.sssl.s); } newpc = ae->u_a.labp; @@ -5411,7 +5411,7 @@ add_to_index(struct intermediates *cint, int first, path_stack_entry *sp, Clause ae = expand_ctable(ipc, current_block(sp), cint, at); } ae->Tag = at; - ipc->u.sssl.e++; + ipc->y_u.sssl.e++; } if (ap->PredFlags & LogUpdatePredFlag) { ae->u_a.labp = cls->Code; @@ -5422,7 +5422,7 @@ add_to_index(struct intermediates *cint, int first, path_stack_entry *sp, Clause } else { yamop *newpc = ae->u_a.labp; - sp = fetch_new_block(sp, &(ipc->u.sssl.l), ap, cint); + sp = fetch_new_block(sp, &(ipc->y_u.sssl.l), ap, cint); sp = cross_block(sp, &(ae->u_a.labp), ap, cint); ipc = newpc; } @@ -5535,13 +5535,13 @@ Yap_AddClauseToIndex(PredEntry *ap, yamop *beg, int first) { static void contract_ftable(yamop *ipc, ClauseUnion *blk, PredEntry *ap, Functor f) { - int n = ipc->u.sssl.s; + int n = ipc->y_u.sssl.s; FuncSwiEntry *fep; if (n > MIN_HASH_ENTRIES) { - fep = lookup_f_hash(f, ipc->u.sssl.l, n); + fep = lookup_f_hash(f, ipc->y_u.sssl.l, n); } else { - fep = (FuncSwiEntry *)(ipc->u.sssl.l); + fep = (FuncSwiEntry *)(ipc->y_u.sssl.l); while (fep->Tag != f) fep++; } fep->u_f.labp = FAILCODE; @@ -5549,13 +5549,13 @@ contract_ftable(yamop *ipc, ClauseUnion *blk, PredEntry *ap, Functor f) { static void contract_ctable(yamop *ipc, ClauseUnion *blk, PredEntry *ap, Term at) { - int n = ipc->u.sssl.s; + int n = ipc->y_u.sssl.s; AtomSwiEntry *cep; if (n > MIN_HASH_ENTRIES) { - cep = lookup_c_hash(at, ipc->u.sssl.l, n); + cep = lookup_c_hash(at, ipc->y_u.sssl.l, n); } else { - cep = (AtomSwiEntry *)(ipc->u.sssl.l); + cep = (AtomSwiEntry *)(ipc->y_u.sssl.l); while (cep->Tag != at) cep++; } cep->u_a.labp = FAILCODE; @@ -5603,7 +5603,7 @@ remove_from_index(PredEntry *ap, path_stack_entry *sp, ClauseDef *cls, yamop *bg /* I cannot expand a predicate that starts on a variable, have to expand the index. */ - if (IN_BETWEEN(bg,ipc->u.l.l,lt)) { + if (IN_BETWEEN(bg,ipc->y_u.l.l,lt)) { sp = kill_clause(ipc, bg, lt, sp, ap); ipc = pop_path(&sp, cls, ap, cint); } else { @@ -5616,7 +5616,7 @@ remove_from_index(PredEntry *ap, path_stack_entry *sp, ClauseDef *cls, yamop *bg /* I cannot expand a predicate that starts on a variable, have to expand the index. */ - if (IN_BETWEEN(bg,ipc->u.Otapl.d,lt)) { + if (IN_BETWEEN(bg,ipc->y_u.Otapl.d,lt)) { sp = kill_clause(ipc, bg, lt, sp, ap); ipc = pop_path(&sp, cls, ap, cint); } else { @@ -5633,7 +5633,7 @@ remove_from_index(PredEntry *ap, path_stack_entry *sp, ClauseDef *cls, yamop *bg /* I cannot expand a predicate that starts on a variable, have to expand the index. */ - if (IN_BETWEEN(bg,ipc->u.l.l,lt)) { + if (IN_BETWEEN(bg,ipc->y_u.l.l,lt)) { sp = kill_clause(ipc, bg, lt, sp, ap); ipc = pop_path(&sp, cls, ap, cint); } else { @@ -5642,14 +5642,14 @@ remove_from_index(PredEntry *ap, path_stack_entry *sp, ClauseDef *cls, yamop *bg } break; case _trust: - if (IN_BETWEEN(bg,ipc->u.Otapl.d,lt)) { + if (IN_BETWEEN(bg,ipc->y_u.Otapl.d,lt)) { sp = kill_clause(ipc, bg, lt, sp, ap); } ipc = pop_path(&sp, cls, ap, cint); break; case _enter_lu_pred: - ipc->u.Illss.s--; - ipc->u.Illss.e++; + ipc->y_u.Illss.s--; + ipc->y_u.Illss.e++; #if DEBUG Yap_DirtyCps++; Yap_LiveCps--; @@ -5660,7 +5660,7 @@ remove_from_index(PredEntry *ap, path_stack_entry *sp, ClauseDef *cls, yamop *bg /* instructions type l */ case _try_me: case _retry_me: - sp = push_path(sp, &(ipc->u.Otapl.d), cls, cint); + sp = push_path(sp, &(ipc->y_u.Otapl.d), cls, cint); ipc = NEXTOP(ipc,Otapl); break; case _profiled_trust_me: @@ -5669,56 +5669,56 @@ remove_from_index(PredEntry *ap, path_stack_entry *sp, ClauseDef *cls, yamop *bg ipc = NEXTOP(ipc,Otapl); break; case _jump: - sp = cross_block(sp, &ipc->u.l.l, ap, cint); + sp = cross_block(sp, &ipc->y_u.l.l, ap, cint); /* just skip for now, but should worry about memory management */ - ipc = ipc->u.l.l; + ipc = ipc->y_u.l.l; break; case _jump_if_var: - sp = push_path(sp, &(ipc->u.l.l), cls, cint); + sp = push_path(sp, &(ipc->y_u.l.l), cls, cint); ipc = NEXTOP(ipc,l); break; case _jump_if_nonvar: - sp = push_path(sp, &(ipc->u.xll.l2), cls, cint); - sp = cross_block(sp, &ipc->u.xll.l1, ap, cint); - ipc = ipc->u.xll.l1; + sp = push_path(sp, &(ipc->y_u.xll.l2), cls, cint); + sp = cross_block(sp, &ipc->y_u.xll.l1, ap, cint); + ipc = ipc->y_u.xll.l1; break; case _user_switch: - ipc = ipc->u.lp.l; + ipc = ipc->y_u.lp.l; break; /* instructions type e */ case _switch_on_type: - sp = push_path(sp, &(ipc->u.llll.l4), cls, cint); + sp = push_path(sp, &(ipc->y_u.llll.l4), cls, cint); if (ap->PredFlags & LogUpdatePredFlag) { add_head_info(cls, 1); } else { add_info(cls, 1); } if (IsPairTerm(cls->Tag)) { - yamop *nipc = ipc->u.llll.l1; + yamop *nipc = ipc->y_u.llll.l1; if (IN_BETWEEN(bg,nipc,lt)) { /* jump straight to clause */ - ipc->u.llll.l1 = FAILCODE; + ipc->y_u.llll.l1 = FAILCODE; ipc = pop_path(&sp, cls, ap, cint); } else { /* go on */ - sp = cross_block(sp, &ipc->u.llll.l1, ap, cint); + sp = cross_block(sp, &ipc->y_u.llll.l1, ap, cint); ipc = nipc; } } else if (IsAtomOrIntTerm(cls->Tag)) { - yamop *nipc = ipc->u.llll.l2; + yamop *nipc = ipc->y_u.llll.l2; if (IN_BETWEEN(bg,nipc,lt)) { /* jump straight to clause */ - ipc->u.llll.l2 = FAILCODE; + ipc->y_u.llll.l2 = FAILCODE; ipc = pop_path(&sp, cls, ap, cint); } else { /* I do not have to worry about crossing a block here */ ipc = nipc; } } else if (IsApplTerm(cls->Tag)) { - yamop *nipc = ipc->u.llll.l3; + yamop *nipc = ipc->y_u.llll.l3; if (IN_BETWEEN(bg,nipc,lt)) { /* jump straight to clause */ - ipc->u.llll.l3 = FAILCODE; + ipc->y_u.llll.l3 = FAILCODE; ipc = pop_path(&sp, cls, ap, cint); } else { /* I do not have to worry about crossing a block here */ @@ -5737,38 +5737,38 @@ remove_from_index(PredEntry *ap, path_stack_entry *sp, ClauseDef *cls, yamop *bg ipc = pop_path(&sp, cls, ap, cint); break; case _switch_on_arg_type: - sp = push_path(sp, &(ipc->u.xllll.l4), cls, cint); + sp = push_path(sp, &(ipc->y_u.xllll.l4), cls, cint); if (ap->PredFlags & LogUpdatePredFlag) { - add_head_info(cls, Yap_regtoregno(ipc->u.xllll.x)); + add_head_info(cls, Yap_regtoregno(ipc->y_u.xllll.x)); } else { - add_info(cls, Yap_regtoregno(ipc->u.xllll.x)); + add_info(cls, Yap_regtoregno(ipc->y_u.xllll.x)); } if (IsPairTerm(cls->Tag)) { - yamop *nipc = ipc->u.xllll.l1; + yamop *nipc = ipc->y_u.xllll.l1; if (IN_BETWEEN(bg,nipc,lt)) { /* jump straight to clause */ - ipc->u.xllll.l1 = FAILCODE; + ipc->y_u.xllll.l1 = FAILCODE; ipc = pop_path(&sp, cls, ap, cint); } else { /* go on */ - sp = cross_block(sp, &ipc->u.xllll.l1, ap, cint); + sp = cross_block(sp, &ipc->y_u.xllll.l1, ap, cint); ipc = nipc; } } else if (IsAtomOrIntTerm(cls->Tag)) { - yamop *nipc = ipc->u.xllll.l2; + yamop *nipc = ipc->y_u.xllll.l2; if (IN_BETWEEN(bg,nipc,lt)) { /* jump straight to clause */ - ipc->u.xllll.l2 = FAILCODE; + ipc->y_u.xllll.l2 = FAILCODE; ipc = pop_path(&sp, cls, ap, cint); } else { /* I do not have to worry about crossing a block here */ ipc = nipc; } } else if (IsApplTerm(cls->Tag)) { - yamop *nipc = ipc->u.xllll.l3; + yamop *nipc = ipc->y_u.xllll.l3; if (IN_BETWEEN(bg,nipc,lt)) { /* jump straight to clause */ - ipc->u.xllll.l3 = FAILCODE; + ipc->y_u.xllll.l3 = FAILCODE; ipc = pop_path(&sp, cls, ap, cint); } else { /* I do not have to worry about crossing a block here */ @@ -5783,34 +5783,34 @@ remove_from_index(PredEntry *ap, path_stack_entry *sp, ClauseDef *cls, yamop *bg } break; case _switch_on_sub_arg_type: - sp = push_path(sp, &(ipc->u.sllll.l4), cls, cint); - add_arg_info(cls, ap, ipc->u.sllll.s+1); + sp = push_path(sp, &(ipc->y_u.sllll.l4), cls, cint); + add_arg_info(cls, ap, ipc->y_u.sllll.s+1); if (IsPairTerm(cls->Tag)) { - yamop *nipc = ipc->u.sllll.l1; + yamop *nipc = ipc->y_u.sllll.l1; if (IN_BETWEEN(bg,nipc,lt)) { /* jump straight to clause */ - ipc->u.sllll.l1 = FAILCODE; + ipc->y_u.sllll.l1 = FAILCODE; ipc = pop_path(&sp, cls, ap, cint); } else { /* go on */ - sp = cross_block(sp, &ipc->u.sllll.l1, ap, cint); + sp = cross_block(sp, &ipc->y_u.sllll.l1, ap, cint); ipc = nipc; } } else if (IsAtomOrIntTerm(cls->Tag)) { - yamop *nipc = ipc->u.sllll.l2; + yamop *nipc = ipc->y_u.sllll.l2; if (IN_BETWEEN(bg,nipc,lt)) { /* jump straight to clause */ - ipc->u.sllll.l2 = FAILCODE; + ipc->y_u.sllll.l2 = FAILCODE; ipc = pop_path(&sp, cls, ap, cint); } else { /* I do not have to worry about crossing a block here */ ipc = nipc; } } else if (IsApplTerm(cls->Tag)) { - yamop *nipc = ipc->u.sllll.l3; + yamop *nipc = ipc->y_u.sllll.l3; if (IN_BETWEEN(bg,nipc,lt)) { /* jump straight to clause */ - ipc->u.sllll.l3 = FAILCODE; + ipc->y_u.sllll.l3 = FAILCODE; ipc = pop_path(&sp, cls, ap, cint); } else { /* I do not have to worry about crossing a block here */ @@ -5837,9 +5837,9 @@ remove_from_index(PredEntry *ap, path_stack_entry *sp, ClauseDef *cls, yamop *bg Functor f = (Functor)RepAppl(cls->Tag); if (op == _switch_on_func) { - fe = lookup_f_hash(f, ipc->u.sssl.l, ipc->u.sssl.s); + fe = lookup_f_hash(f, ipc->y_u.sssl.l, ipc->y_u.sssl.s); } else { - fe = lookup_f(f, ipc->u.sssl.l, ipc->u.sssl.s); + fe = lookup_f(f, ipc->y_u.sssl.l, ipc->y_u.sssl.s); } newpc = fe->u_f.labp; @@ -5854,7 +5854,7 @@ remove_from_index(PredEntry *ap, path_stack_entry *sp, ClauseDef *cls, yamop *bg ipc = pop_path(&sp, cls, ap, cint); } else { yamop *newpc = fe->u_f.labp; - sp = fetch_new_block(sp, &(ipc->u.sssl.l), ap, cint); + sp = fetch_new_block(sp, &(ipc->y_u.sssl.l), ap, cint); sp = cross_block(sp, &(fe->u_f.labp), ap, cint); ipc = newpc; } @@ -5881,9 +5881,9 @@ remove_from_index(PredEntry *ap, path_stack_entry *sp, ClauseDef *cls, yamop *bg Term at = cls->Tag; if (op == _switch_on_cons) { - ae = lookup_c_hash(at,ipc->u.sssl.l,ipc->u.sssl.s); + ae = lookup_c_hash(at,ipc->y_u.sssl.l,ipc->y_u.sssl.s); } else { - ae = lookup_c(at, ipc->u.sssl.l, ipc->u.sssl.s); + ae = lookup_c(at, ipc->y_u.sssl.l, ipc->y_u.sssl.s); } newpc = ae->u_a.labp; @@ -5899,7 +5899,7 @@ remove_from_index(PredEntry *ap, path_stack_entry *sp, ClauseDef *cls, yamop *bg } else { yamop *newpc = ae->u_a.labp; - sp = fetch_new_block(sp, &(ipc->u.sssl.l), ap, cint); + sp = fetch_new_block(sp, &(ipc->y_u.sssl.l), ap, cint); sp = cross_block(sp, &(ae->u_a.labp), ap, cint); ipc = newpc; } @@ -6124,9 +6124,9 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y case _try_in: update_clause_choice_point(NEXTOP(ipc,l), ap_pc PASS_REGS); if (lu_pred) - return lu_clause(ipc->u.l.l, ap); + return lu_clause(ipc->y_u.l.l, ap); else - return (LogUpdClause *)static_clause(ipc->u.l.l, ap, unbounded); + return (LogUpdClause *)static_clause(ipc->y_u.l.l, ap, unbounded); break; case _try_clause: #if TABLING @@ -6140,9 +6140,9 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y update_clause_choice_point(NEXTOP(ipc,Otapl), ap_pc PASS_REGS); } if (lu_pred) - return lu_clause(ipc->u.Otapl.d, ap); + return lu_clause(ipc->y_u.Otapl.d, ap); else - return (LogUpdClause *)static_clause(ipc->u.Otapl.d, ap, unbounded); + return (LogUpdClause *)static_clause(ipc->y_u.Otapl.d, ap, unbounded); case _try_clause2: case _try_clause3: case _try_clause4: @@ -6154,19 +6154,19 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y update_clause_choice_point(NEXTOP(ipc,l), ap_pc PASS_REGS); } if (lu_pred) - return lu_clause(ipc->u.l.l, ap); + return lu_clause(ipc->y_u.l.l, ap); else - return (LogUpdClause *)static_clause(ipc->u.l.l, ap, unbounded); + return (LogUpdClause *)static_clause(ipc->y_u.l.l, ap, unbounded); case _try_me: #if TABLING case _table_try_me: #endif if (b0 == NULL) - store_clause_choice_point(Terms[0], Terms[1], Terms[2], ipc->u.Otapl.d, ap, ap_pc, cp_pc PASS_REGS); + store_clause_choice_point(Terms[0], Terms[1], Terms[2], ipc->y_u.Otapl.d, ap, ap_pc, cp_pc PASS_REGS); else { B = b0; b0 = NULL; - update_clause_choice_point(ipc->u.Otapl.d, ap_pc PASS_REGS); + update_clause_choice_point(ipc->y_u.Otapl.d, ap_pc PASS_REGS); } ipc = NEXTOP(ipc,Otapl); break; @@ -6180,19 +6180,19 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y #endif update_clause_choice_point(NEXTOP(ipc,Otapl),ap_pc PASS_REGS); if (lu_pred) - return lu_clause(ipc->u.Otapl.d, ap); + return lu_clause(ipc->y_u.Otapl.d, ap); else - return (LogUpdClause *)static_clause(ipc->u.Otapl.d, ap, TRUE); + return (LogUpdClause *)static_clause(ipc->y_u.Otapl.d, ap, TRUE); case _retry2: case _retry3: case _retry4: update_clause_choice_point(NEXTOP(ipc,l),ap_pc PASS_REGS); if (lu_pred) - return lu_clause(ipc->u.l.l, ap); + return lu_clause(ipc->y_u.l.l, ap); else - return (LogUpdClause *)static_clause(ipc->u.l.l, ap, TRUE); + return (LogUpdClause *)static_clause(ipc->y_u.l.l, ap, TRUE); case _retry_me: - update_clause_choice_point(ipc->u.Otapl.d,ap_pc PASS_REGS); + update_clause_choice_point(ipc->y_u.Otapl.d,ap_pc PASS_REGS); ipc = NEXTOP(ipc,Otapl); break; case _trust: @@ -6217,9 +6217,9 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y #endif /* YAPOR */ b0 = B; if (lu_pred) - return lu_clause(ipc->u.Otapl.d, ap); + return lu_clause(ipc->y_u.Otapl.d, ap); else - return (LogUpdClause *)static_clause(ipc->u.Otapl.d, ap, TRUE); + return (LogUpdClause *)static_clause(ipc->y_u.Otapl.d, ap, TRUE); case _profiled_trust_me: case _trust_me: case _count_trust_me: @@ -6247,7 +6247,7 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y break; case _enter_lu_pred: { - LogUpdIndex *cl = ipc->u.Illss.I; + LogUpdIndex *cl = ipc->y_u.Illss.I; PredEntry *ap = cl->ClPred; if (!cl) return NULL; /* in case the index is empty */ @@ -6275,39 +6275,39 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y } #endif } - ipc = ipc->u.Illss.l1; + ipc = ipc->y_u.Illss.l1; break; case _try_logical: if (b0 == NULL) - store_clause_choice_point(Terms[0], Terms[1], Terms[2], ipc->u.OtaLl.n, ap, ap_pc, cp_pc PASS_REGS); + store_clause_choice_point(Terms[0], Terms[1], Terms[2], ipc->y_u.OtaLl.n, ap, ap_pc, cp_pc PASS_REGS); else { B = b0; b0 = NULL; - update_clause_choice_point(ipc->u.OtaLl.n, ap_pc PASS_REGS); + update_clause_choice_point(ipc->y_u.OtaLl.n, ap_pc PASS_REGS); } { UInt timestamp = IntegerOfTerm(((CELL *)(B+1))[5]); - if (!VALID_TIMESTAMP(timestamp, ipc->u.OtaLl.d)) { + if (!VALID_TIMESTAMP(timestamp, ipc->y_u.OtaLl.d)) { /* jump to next instruction */ - ipc = ipc->u.OtaLl.n; + ipc = ipc->y_u.OtaLl.n; break; } } - return ipc->u.OtaLl.d; + return ipc->y_u.OtaLl.d; case _retry_logical: case _profiled_retry_logical: case _count_retry_logical: { UInt timestamp = IntegerOfTerm(((CELL *)(B+1))[5]); - if (!VALID_TIMESTAMP(timestamp, ipc->u.OtaLl.d)) { + if (!VALID_TIMESTAMP(timestamp, ipc->y_u.OtaLl.d)) { /* jump to next instruction */ - ipc = ipc->u.OtaLl.n; + ipc = ipc->y_u.OtaLl.n; break; } } - update_clause_choice_point(ipc->u.OtaLl.n,ap_pc PASS_REGS); - return ipc->u.OtaLl.d; + update_clause_choice_point(ipc->y_u.OtaLl.n,ap_pc PASS_REGS); + return ipc->y_u.OtaLl.d; #if TABLING case _table_try_single: return (LogUpdClause *)ClauseCodeToStaticClause(ipc); @@ -6317,14 +6317,14 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y case _profiled_trust_logical: { UInt timestamp = IntegerOfTerm(((CELL *)(B+1))[5]); - LogUpdIndex *cl = ipc->u.OtILl.block; + LogUpdIndex *cl = ipc->y_u.OtILl.block; LogUpdClause *newpc; - if (!VALID_TIMESTAMP(timestamp, ipc->u.OtILl.d)) { + if (!VALID_TIMESTAMP(timestamp, ipc->y_u.OtILl.d)) { /* jump to next instruction */ newpc = NULL; } else { - newpc = ipc->u.OtILl.d; + newpc = ipc->y_u.OtILl.d; } #if MULTIPLE_STACKS DEC_CLREF_COUNT(cl); @@ -6336,7 +6336,7 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y to dispose of it. But on the other hand I need to make sure the clause is still there when I am back. */ - LogUpdClause *lcl = ipc->u.OtILl.d; + LogUpdClause *lcl = ipc->y_u.OtILl.d; if (newpc) { if (lcl->ClRefCount == 1) { /* make sure the clause isn't destroyed */ @@ -6361,7 +6361,7 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y cl->ClFlags &= ~InUseMask; /* next, recover space for the indexing code if it was erased */ if (cl->ClFlags & (ErasedMask|DirtyMask)) { - LogUpdClause *lcl = ipc->u.OtILl.d; + LogUpdClause *lcl = ipc->y_u.OtILl.d; /* make sure we don't erase the clause we are jumping to, notice that ErLogUpdIndex may remove several references in one go. Notice we only need to do this if we´ re jumping to the clause. @@ -6398,14 +6398,14 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y return newpc; } case _jump: - ipc = ipc->u.l.l; + ipc = ipc->y_u.l.l; break; case _jump_if_var: { Term t = Deref(ARG1); if (IsVarTerm(t)) { SET_JLBL(l.l); - ipc = ipc->u.l.l; + ipc = ipc->y_u.l.l; } else { ipc = NEXTOP(ipc,l); } @@ -6413,17 +6413,17 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y break; case _jump_if_nonvar: { - Term t = Deref(XREGS[arg_from_x(ipc->u.xll.x)]); + Term t = Deref(XREGS[arg_from_x(ipc->y_u.xll.x)]); if (!IsVarTerm(t)) { SET_JLBL(xll.l1); - ipc = ipc->u.xll.l1; + ipc = ipc->y_u.xll.l1; } else { ipc = NEXTOP(ipc,xll); } } break; case _user_switch: - ipc = ipc->u.lp.l; + ipc = ipc->y_u.lp.l; break; /* instructions type e */ case _switch_on_type: @@ -6431,18 +6431,18 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y blob_term = FALSE; if (IsVarTerm(t)) { SET_JLBL(llll.l4); - ipc = ipc->u.llll.l4; + ipc = ipc->y_u.llll.l4; } else if (IsPairTerm(t)) { unbounded = FALSE; SET_JLBL(llll.l1); - ipc = ipc->u.llll.l1; + ipc = ipc->y_u.llll.l1; S = s_reg = RepPair(t); } else if (IsAtomOrIntTerm(t)) { SET_JLBL(llll.l2); - ipc = ipc->u.llll.l2; + ipc = ipc->y_u.llll.l2; } else { SET_JLBL(llll.l3); - ipc = ipc->u.llll.l3; + ipc = ipc->y_u.llll.l3; S = RepAppl(t); } break; @@ -6451,59 +6451,59 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y blob_term = FALSE; if (IsVarTerm(t)) { SET_JLBL(ollll.l4); - ipc = ipc->u.ollll.l4; + ipc = ipc->y_u.ollll.l4; } else if (IsPairTerm(t)) { unbounded = FALSE; SET_JLBL(ollll.l1); - ipc = ipc->u.ollll.l1; + ipc = ipc->y_u.ollll.l1; S = s_reg = RepPair(t); } else if (t == TermNil) { unbounded = FALSE; SET_JLBL(ollll.l2); - ipc = ipc->u.ollll.l2; + ipc = ipc->y_u.ollll.l2; } else { SET_JLBL(ollll.l3); - ipc = ipc->u.ollll.l3; + ipc = ipc->y_u.ollll.l3; S = RepAppl(t); } break; case _switch_on_arg_type: - t = Deref(XREGS[arg_from_x(ipc->u.xllll.x)]); + t = Deref(XREGS[arg_from_x(ipc->y_u.xllll.x)]); blob_term = FALSE; if (IsVarTerm(t)) { SET_JLBL(xllll.l4); - ipc = ipc->u.xllll.l4; + ipc = ipc->y_u.xllll.l4; } else if (IsPairTerm(t)) { unbounded = FALSE; SET_JLBL(xllll.l1); - ipc = ipc->u.xllll.l1; + ipc = ipc->y_u.xllll.l1; S = s_reg = RepPair(t); } else if (IsAtomOrIntTerm(t)) { SET_JLBL(xllll.l2); - ipc = ipc->u.xllll.l2; + ipc = ipc->y_u.xllll.l2; } else { SET_JLBL(xllll.l3); - ipc = ipc->u.xllll.l3; + ipc = ipc->y_u.xllll.l3; S = RepAppl(t); } break; case _switch_on_sub_arg_type: - t = Deref(s_reg[ipc->u.sllll.s]); + t = Deref(s_reg[ipc->y_u.sllll.s]); blob_term = FALSE; if (IsVarTerm(t)) { SET_JLBL(sllll.l4); - ipc = ipc->u.sllll.l4; + ipc = ipc->y_u.sllll.l4; } else if (IsPairTerm(t)) { unbounded = FALSE; SET_JLBL(sllll.l1); S = s_reg = RepPair(t); - ipc = ipc->u.sllll.l1; + ipc = ipc->y_u.sllll.l1; } else if (IsAtomOrIntTerm(t)) { SET_JLBL(sllll.l2); - ipc = ipc->u.sllll.l2; + ipc = ipc->y_u.sllll.l2; } else { SET_JLBL(sllll.l3); - ipc = ipc->u.sllll.l3; + ipc = ipc->y_u.sllll.l3; S = RepAppl(t); } break; @@ -6512,13 +6512,13 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y blob_term = FALSE; if (IsVarTerm(t)) { SET_JLBL(clll.l3); - ipc = ipc->u.clll.l3; - } else if (!IsVarTerm(t) && t != ipc->u.clll.c) { + ipc = ipc->y_u.clll.l3; + } else if (!IsVarTerm(t) && t != ipc->y_u.clll.c) { SET_JLBL(clll.l1); - ipc = ipc->u.clll.l1; + ipc = ipc->y_u.clll.l1; } else { SET_JLBL(clll.l2); - ipc = ipc->u.clll.l2; + ipc = ipc->y_u.clll.l2; } break; /* instructions type ollll */ @@ -6535,9 +6535,9 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y s_reg++; S = s_reg; if (op == _switch_on_func) { - fe = lookup_f_hash(f, ipc->u.sssl.l, ipc->u.sssl.s); + fe = lookup_f_hash(f, ipc->y_u.sssl.l, ipc->y_u.sssl.s); } else { - fe = lookup_f(f, ipc->u.sssl.l, ipc->u.sssl.s); + fe = lookup_f(f, ipc->y_u.sssl.l, ipc->y_u.sssl.s); } #if defined(YAPOR) || defined(THREADS) jlbl = &(fe->u_f.labp); @@ -6568,9 +6568,9 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y unbounded = FALSE; if (op == _switch_on_cons) { - ae = lookup_c_hash(t, ipc->u.sssl.l, ipc->u.sssl.s); + ae = lookup_c_hash(t, ipc->y_u.sssl.l, ipc->y_u.sssl.s); } else { - ae = lookup_c(t, ipc->u.sssl.l, ipc->u.sssl.s); + ae = lookup_c(t, ipc->y_u.sssl.l, ipc->y_u.sssl.s); } #if defined(YAPOR) || defined(THREADS) jlbl = &(ae->u_a.labp); @@ -6740,7 +6740,7 @@ Yap_NthClause(PredEntry *ap, Int ncls) switch(op) { case _try_in: if (ncls == 1) - return to_clause(ipc->u.l.l, ap); + return to_clause(ipc->y_u.l.l, ap); ncls--; ipc = NEXTOP(ipc,l); break; @@ -6750,7 +6750,7 @@ Yap_NthClause(PredEntry *ap, Int ncls) case _try_clause: case _retry: if (ncls == 1) - return to_clause(ipc->u.Otapl.d, ap); + return to_clause(ipc->y_u.Otapl.d, ap); else if (alt == NULL) { ncls --; /* get there in a fell swoop */ @@ -6765,7 +6765,7 @@ Yap_NthClause(PredEntry *ap, Int ncls) } else { ipc = (yamop *)((char *)ipc+ncls*(UInt)NEXTOP((yamop *)NULL,Otapl)); } - return to_clause(ipc->u.Otapl.d, ap); + return to_clause(ipc->y_u.Otapl.d, ap); } else { ncls--; } @@ -6778,7 +6778,7 @@ Yap_NthClause(PredEntry *ap, Int ncls) case _retry3: case _retry4: if (ncls == 1) - return to_clause(ipc->u.l.l, ap); + return to_clause(ipc->y_u.l.l, ap); else if (alt == NULL) { ncls --; /* get there in a fell swoop */ @@ -6793,7 +6793,7 @@ Yap_NthClause(PredEntry *ap, Int ncls) } else { ipc = (yamop *)((char *)ipc+ncls*(UInt)NEXTOP((yamop *)NULL,l)); } - return to_clause(ipc->u.l.l, ap); + return to_clause(ipc->y_u.l.l, ap); } else { ncls--; } @@ -6801,13 +6801,13 @@ Yap_NthClause(PredEntry *ap, Int ncls) break; case _trust: if (ncls == 1) - return to_clause(ipc->u.l.l,ap); + return to_clause(ipc->y_u.l.l,ap); ncls--; ipc = alt; break; case _try_me: case _retry_me: - alt = ipc->u.Otapl.d; + alt = ipc->y_u.Otapl.d; ipc = NEXTOP(ipc,Otapl); break; case _profiled_trust_me: @@ -6820,63 +6820,63 @@ Yap_NthClause(PredEntry *ap, Int ncls) case _retry_logical: case _count_retry_logical: case _profiled_retry_logical: - if (VALID_TIMESTAMP(ap->TimeStampOfPred, ipc->u.OtaLl.d)) { + if (VALID_TIMESTAMP(ap->TimeStampOfPred, ipc->y_u.OtaLl.d)) { if (ncls == 1) - return ipc->u.OtaLl.d; + return ipc->y_u.OtaLl.d; ncls--; } - ipc = ipc->u.OtaLl.n; + ipc = ipc->y_u.OtaLl.n; break; case _trust_logical: case _count_trust_logical: case _profiled_trust_logical: - if (VALID_TIMESTAMP(ap->TimeStampOfPred, ipc->u.OtILl.d)) { + if (VALID_TIMESTAMP(ap->TimeStampOfPred, ipc->y_u.OtILl.d)) { if (ncls == 1) - return ipc->u.OtILl.d; + return ipc->y_u.OtILl.d; } return NULL; case _enter_lu_pred: SET_JLBL(Illss.l1); - ipc = ipc->u.Illss.l1; + ipc = ipc->y_u.Illss.l1; break; case _lock_lu: ipc = NEXTOP(ipc,p); break; case _jump: SET_JLBL(l.l); - ipc = ipc->u.l.l; + ipc = ipc->y_u.l.l; break; case _jump_if_var: SET_JLBL(l.l); - ipc = ipc->u.l.l; + ipc = ipc->y_u.l.l; break; case _jump_if_nonvar: ipc = NEXTOP(ipc,xll); break; case _user_switch: SET_JLBL(l.l); - ipc = ipc->u.lp.l; + ipc = ipc->y_u.lp.l; break; /* instructions type e */ case _switch_on_type: SET_JLBL(llll.l4); - ipc = ipc->u.llll.l4; + ipc = ipc->y_u.llll.l4; break; case _switch_list_nl: SET_JLBL(ollll.l4); - ipc = ipc->u.ollll.l4; + ipc = ipc->y_u.ollll.l4; break; case _switch_on_arg_type: SET_JLBL(xllll.l4); - ipc = ipc->u.xllll.l4; + ipc = ipc->y_u.xllll.l4; break; case _switch_on_sub_arg_type: SET_JLBL(sllll.l4); - ipc = ipc->u.sllll.l4; + ipc = ipc->y_u.sllll.l4; break; case _if_not_then: SET_JLBL(clll.l3); - ipc = ipc->u.clll.l3; + ipc = ipc->y_u.clll.l3; break; case _expand_index: case _expand_clauses: diff --git a/C/init.c b/C/init.c index 48f3a26aa..cd6e58a2e 100755 --- a/C/init.c +++ b/C/init.c @@ -483,22 +483,22 @@ Yap_InitCPred(const char *Name, UInt Arity, CPredicate code, UInt flags) p_code->opc = Yap_opcode(_call_usercpred); else p_code->opc = Yap_opcode(_call_cpred); - p_code->u.Osbpp.bmap = NULL; - p_code->u.Osbpp.s = -Signed(RealEnvSize); - p_code->u.Osbpp.p = - p_code->u.Osbpp.p0 = + p_code->y_u.Osbpp.bmap = NULL; + p_code->y_u.Osbpp.s = -Signed(RealEnvSize); + p_code->y_u.Osbpp.p = + p_code->y_u.Osbpp.p0 = pe; p_code = NEXTOP(p_code,Osbpp); if (!(flags & SafePredFlag)) { p_code->opc = Yap_opcode(_deallocate); - p_code->u.p.p = pe; + p_code->y_u.p.p = pe; p_code = NEXTOP(p_code,p); } p_code->opc = Yap_opcode(_procceed); - p_code->u.p.p = pe; + p_code->y_u.p.p = pe; p_code = NEXTOP(p_code,p); p_code->opc = Yap_opcode(_Ystop); - p_code->u.l.l = cl->ClCode; + p_code->y_u.l.l = cl->ClCode; pe->OpcodeOfPred = pe->CodeOfPred->opc; } @@ -567,17 +567,17 @@ Yap_InitCmpPred(const char *Name, UInt Arity, CmpPredicate cmp_code, UInt flags) pe->cs.d_code = cmp_code; pe->ModuleOfPred = CurrentModule; p_code->opc = pe->OpcodeOfPred = Yap_opcode(_call_bfunc_xx); - p_code->u.plxxs.p = pe; - p_code->u.plxxs.f = FAILCODE; - p_code->u.plxxs.x1 = Yap_emit_x(1); - p_code->u.plxxs.x2 = Yap_emit_x(2); - p_code->u.plxxs.flags = Yap_compile_cmp_flags(pe); + p_code->y_u.plxxs.p = pe; + p_code->y_u.plxxs.f = FAILCODE; + p_code->y_u.plxxs.x1 = Yap_emit_x(1); + p_code->y_u.plxxs.x2 = Yap_emit_x(2); + p_code->y_u.plxxs.flags = Yap_compile_cmp_flags(pe); p_code = NEXTOP(p_code,plxxs); p_code->opc = Yap_opcode(_procceed); - p_code->u.p.p = pe; + p_code->y_u.p.p = pe; p_code = NEXTOP(p_code,p); p_code->opc = Yap_opcode(_Ystop); - p_code->u.l.l = cl->ClCode; + p_code->y_u.l.l = cl->ClCode; } void @@ -655,20 +655,20 @@ Yap_InitAsmPred(const char *Name, UInt Arity, int code, CPredicate def, UInt fl p_code = NEXTOP(p_code,e); } p_code->opc = Yap_opcode(_call_cpred); - p_code->u.Osbpp.bmap = NULL; - p_code->u.Osbpp.s = -Signed(RealEnvSize); - p_code->u.Osbpp.p = p_code->u.Osbpp.p0 = pe; + p_code->y_u.Osbpp.bmap = NULL; + p_code->y_u.Osbpp.s = -Signed(RealEnvSize); + p_code->y_u.Osbpp.p = p_code->y_u.Osbpp.p0 = pe; p_code = NEXTOP(p_code,Osbpp); if (!(flags & SafePredFlag)) { p_code->opc = Yap_opcode(_deallocate); - p_code->u.p.p = pe; + p_code->y_u.p.p = pe; p_code = NEXTOP(p_code,p); } p_code->opc = Yap_opcode(_procceed); - p_code->u.p.p = pe; + p_code->y_u.p.p = pe; p_code = NEXTOP(p_code,p); p_code->opc = Yap_opcode(_Ystop); - p_code->u.l.l = cl->ClCode; + p_code->y_u.l.l = cl->ClCode; pe->OpcodeOfPred = pe->CodeOfPred->opc; } else { pe->OpcodeOfPred = Yap_opcode(_undef_p); @@ -689,7 +689,7 @@ CleanBack(PredEntry *pe, CPredicate Start, CPredicate Cont, CPredicate Cut) return; } code = (yamop *)(pe->cs.p_code.FirstClause); - code->u.OtapFs.p = pe; + code->y_u.OtapFs.p = pe; if (pe->PredFlags & UserCPredFlag) code->opc = Yap_opcode(_try_userc); else @@ -698,7 +698,7 @@ CleanBack(PredEntry *pe, CPredicate Start, CPredicate Cont, CPredicate Cut) INIT_YAMOP_LTT(code, 2); PUT_YAMOP_SEQ(code); #endif /* YAPOR */ - code->u.OtapFs.f = Start; + code->y_u.OtapFs.f = Start; code = NEXTOP(code,OtapFs); if (pe->PredFlags & UserCPredFlag) code->opc = Yap_opcode(_retry_userc); @@ -708,14 +708,14 @@ CleanBack(PredEntry *pe, CPredicate Start, CPredicate Cont, CPredicate Cut) INIT_YAMOP_LTT(code, 1); PUT_YAMOP_SEQ(code); #endif /* YAPOR */ - code->u.OtapFs.f = Cont; + code->y_u.OtapFs.f = Cont; code = NEXTOP(code,OtapFs); if (pe->PredFlags & UserCPredFlag) code->opc = Yap_opcode(_cut_c); else code->opc = Yap_opcode(_cut_userc); - code->u.OtapFs.p = pe; - code->u.OtapFs.f = Cut; + code->y_u.OtapFs.p = pe; + code->y_u.OtapFs.f = Cut; } void @@ -805,10 +805,10 @@ Yap_InitCPredBack_(const char *Name, UInt Arity, pe->OpcodeOfPred = code->opc = Yap_opcode(_try_userc); else pe->OpcodeOfPred = code->opc = Yap_opcode(_try_c); - code->u.OtapFs.f = Start; - code->u.OtapFs.p = pe; - code->u.OtapFs.s = Arity; - code->u.OtapFs.extra = Extra; + code->y_u.OtapFs.f = Start; + code->y_u.OtapFs.p = pe; + code->y_u.OtapFs.s = Arity; + code->y_u.OtapFs.extra = Extra; #ifdef YAPOR INIT_YAMOP_LTT(code, 2); PUT_YAMOP_SEQ(code); @@ -818,10 +818,10 @@ Yap_InitCPredBack_(const char *Name, UInt Arity, code->opc = Yap_opcode(_retry_userc); else code->opc = Yap_opcode(_retry_c); - code->u.OtapFs.f = Cont; - code->u.OtapFs.p = pe; - code->u.OtapFs.s = Arity; - code->u.OtapFs.extra = Extra; + code->y_u.OtapFs.f = Cont; + code->y_u.OtapFs.p = pe; + code->y_u.OtapFs.s = Arity; + code->y_u.OtapFs.extra = Extra; #ifdef YAPOR INIT_YAMOP_LTT(code, 1); PUT_YAMOP_SEQ(code); @@ -831,13 +831,13 @@ Yap_InitCPredBack_(const char *Name, UInt Arity, code->opc = Yap_opcode(_cut_userc); else code->opc = Yap_opcode(_cut_c); - code->u.OtapFs.f = Cut; - code->u.OtapFs.p = pe; - code->u.OtapFs.s = Arity; - code->u.OtapFs.extra = Extra; + code->y_u.OtapFs.f = Cut; + code->y_u.OtapFs.p = pe; + code->y_u.OtapFs.s = Arity; + code->y_u.OtapFs.extra = Extra; code = NEXTOP(code,OtapFs); code->opc = Yap_opcode(_Ystop); - code->u.l.l = cl->ClCode; + code->y_u.l.l = cl->ClCode; } } @@ -898,10 +898,10 @@ InitEnvInst(yamop start[2], yamop **instp, op_numbers opc, PredEntry *pred) /* make it look like the instruction is preceeded by a call instruction */ ipc->opc = Yap_opcode(_call); - ipc->u.Osbpp.s = -Signed(RealEnvSize); - ipc->u.Osbpp.bmap = NULL; - ipc->u.Osbpp.p = pred; - ipc->u.Osbpp.p0 = pred; + ipc->y_u.Osbpp.s = -Signed(RealEnvSize); + ipc->y_u.Osbpp.bmap = NULL; + ipc->y_u.Osbpp.p = pred; + ipc->y_u.Osbpp.p0 = pred; ipc = NEXTOP(ipc, Osbpp); ipc->opc = Yap_opcode(opc); *instp = ipc; @@ -914,14 +914,14 @@ InitOtaplInst(yamop start[1], OPCODE opc, PredEntry *pe) /* this is a place holder, it should not really be used */ ipc->opc = Yap_opcode(opc); - ipc->u.Otapl.s = 0; - ipc->u.Otapl.p = pe; - ipc->u.Otapl.d = NULL; + ipc->y_u.Otapl.s = 0; + ipc->y_u.Otapl.p = pe; + ipc->y_u.Otapl.d = NULL; #ifdef YAPOR INIT_YAMOP_LTT(ipc, 1); #endif /* YAPOR */ #ifdef TABLING - ipc->u.Otapl.te = NULL; + ipc->y_u.Otapl.te = NULL; #endif /* TABLING */ } @@ -1182,8 +1182,8 @@ InitCodes(void) modp->PredFlags |= MetaPredFlag; } #ifdef YAPOR - Yap_heap_regs->getwork_code->u.Otapl.p = RepPredProp(PredPropByAtom(AtomGetwork, PROLOG_MODULE)); - Yap_heap_regs->getwork_seq_code->u.Otapl.p = RepPredProp(PredPropByAtom(AtomGetworkSeq, PROLOG_MODULE)); + Yap_heap_regs->getwork_code->y_u.Otapl.p = RepPredProp(PredPropByAtom(AtomGetwork, PROLOG_MODULE)); + Yap_heap_regs->getwork_seq_code->y_u.Otapl.p = RepPredProp(PredPropByAtom(AtomGetworkSeq, PROLOG_MODULE)); #endif /* YAPOR */ } diff --git a/H/Regs.h b/H/Regs.h index 6bc5ba96e..5ed16c079 100755 --- a/H/Regs.h +++ b/H/Regs.h @@ -691,6 +691,33 @@ INLINE_ONLY EXTERN inline void restore_B(void) { #define BBREG BB #endif /* YAPOR_SBA || TABLING */ +// define how to handle frozen segments in tabling, etv. +#ifdef FROZEN_STACKS +#ifdef YAPOR_SBA +#define PROTECT_FROZEN_H(CPTR) \ + ((Unsigned((Int)((CPTR)->cp_h)-(Int)(H_FZ)) < \ + Unsigned((Int)(B_FZ)-(Int)(H_FZ))) ? \ + (CPTR)->cp_h : H_FZ) +#define PROTECT_FROZEN_B(CPTR) \ + ((Unsigned((Int)(CPTR)-(Int)(H_FZ)) < \ + Unsigned((Int)(B_FZ)-(Int)(H_FZ))) ? \ + (CPTR) : B_FZ) + /* +#define PROTECT_FROZEN_H(CPTR) ((CPTR)->cp_h > H_FZ && (CPTR)->cp_h < (CELL *)B_FZ ? (CPTR)->cp_h : H_FZ ) + +#define PROTECT_FROZEN_B(CPTR) ((CPTR) < B_FZ && (CPTR) > (choiceptr)H_FZ ? (CPTR) : B_FZ ) + */ +#else /* TABLING */ +#define PROTECT_FROZEN_B(CPTR) (YOUNGER_CP(CPTR, B_FZ) ? CPTR : B_FZ) +#define PROTECT_FROZEN_H(CPTR) (((CPTR)->cp_h > H_FZ) ? (CPTR)->cp_h : H_FZ) +#endif /* YAPOR_SBA */ +#else +#define PROTECT_FROZEN_B(CPTR) (CPTR) +#define PROTECT_FROZEN_H(CPTR) (CPTR)->cp_h +#endif /* FROZEN_STACKS */ + + + #if !defined(THREADS) /* use actual addresses for regs */ #define PRECOMPUTE_REGADDRESS 1 diff --git a/H/Yap.h b/H/Yap.h index 45689ea05..cbbfd5fcb 100755 --- a/H/Yap.h +++ b/H/Yap.h @@ -86,6 +86,10 @@ #define TERM_EXTENSIONS 1 #endif /* COROUTINING && !TERM_EXTENSIONS */ +/* truth-values */ +#define TRUE 1 +#define FALSE 0 + /* Microsoft's Visual C++ Compiler */ #ifdef _MSC_VER /* adjust a config.h from mingw32 to work with vc++ */ #ifdef HAVE_GCC @@ -155,10 +159,6 @@ #define EXTERN #endif /* ADTDEFS_C */ -/* truth-values */ -#define TRUE 1 -#define FALSE 0 - /* null pointer */ #define NIL 0 diff --git a/H/absmi.h b/H/absmi.h index 812c42210..0f64282f5 100755 --- a/H/absmi.h +++ b/H/absmi.h @@ -379,7 +379,7 @@ restore_absmi_regs(REGSTORE * old_regs) #define DO_PREFETCH(TYPE) to_go = (void *)(NEXTOP(PREG,TYPE)->opc) -#define DO_PREFETCH_W(TYPE) to_go = (void *)(NEXTOP(PREG,TYPE)->u.o.opcw) +#define DO_PREFETCH_W(TYPE) to_go = (void *)(NEXTOP(PREG,TYPE)->y_u.o.opcw) #if LIMITED_PREFETCH||USE_PREFETCH @@ -466,7 +466,7 @@ restore_absmi_regs(REGSTORE * old_regs) JMP((void *)(PREG->opc)) #define JMPNextW() \ - JMP((void *)(PREG->u.o.opcw)) + JMP((void *)(PREG->y_u.o.opcw)) #if USE_THREADED_CODE && (LIMITED_PREFETCH || USE_PREFETCH) diff --git a/H/amidefs.h b/H/amidefs.h index eac8956ec..8c76c78fd 100644 --- a/H/amidefs.h +++ b/H/amidefs.h @@ -65,30 +65,6 @@ #include #endif -#ifdef FROZEN_STACKS -#ifdef YAPOR_SBA -#define PROTECT_FROZEN_H(CPTR) \ - ((Unsigned((Int)((CPTR)->cp_h)-(Int)(H_FZ)) < \ - Unsigned((Int)(B_FZ)-(Int)(H_FZ))) ? \ - (CPTR)->cp_h : H_FZ) -#define PROTECT_FROZEN_B(CPTR) \ - ((Unsigned((Int)(CPTR)-(Int)(H_FZ)) < \ - Unsigned((Int)(B_FZ)-(Int)(H_FZ))) ? \ - (CPTR) : B_FZ) - /* -#define PROTECT_FROZEN_H(CPTR) ((CPTR)->cp_h > H_FZ && (CPTR)->cp_h < (CELL *)B_FZ ? (CPTR)->cp_h : H_FZ ) - -#define PROTECT_FROZEN_B(CPTR) ((CPTR) < B_FZ && (CPTR) > (choiceptr)H_FZ ? (CPTR) : B_FZ ) - */ -#else /* TABLING */ -#define PROTECT_FROZEN_B(CPTR) (YOUNGER_CP(CPTR, B_FZ) ? CPTR : B_FZ) -#define PROTECT_FROZEN_H(CPTR) (((CPTR)->cp_h > H_FZ) ? (CPTR)->cp_h : H_FZ) -#endif /* YAPOR_SBA */ -#else -#define PROTECT_FROZEN_B(CPTR) (CPTR) -#define PROTECT_FROZEN_H(CPTR) (CPTR)->cp_h -#endif /* FROZEN_STACKS */ - #if ALIGN_LONGS /* */ typedef Int DISPREG; /* */ typedef CELL SMALLUNSGN; @@ -882,7 +858,7 @@ typedef struct yami { Term c; CELL next; } yxc; - } u; + } y_u; } yamop; typedef yamop yamopp; @@ -891,7 +867,7 @@ typedef yamop yamopp; #define OPCW u.ox.opcw -#define NEXTOP(V,TYPE) ((yamop *)(&((V)->u.TYPE.next))) +#define NEXTOP(V,TYPE) ((yamop *)(&((V)->y_u.TYPE.next))) #define PREVOP(V,TYPE) ((yamop *)((CODEADDR)(V)-(CELL)NEXTOP((yamop *)NULL,TYPE))) @@ -1072,13 +1048,13 @@ CELL *ENV_Parent(CELL *env) static inline UInt ENV_Size(yamop *cp) { - return (((yamop *)((CODEADDR)(cp) - (CELL)NEXTOP((yamop *)NULL,Osbpp)))->u.Osbpp.s); + return (((yamop *)((CODEADDR)(cp) - (CELL)NEXTOP((yamop *)NULL,Osbpp)))->y_u.Osbpp.s); } static inline struct pred_entry *ENV_ToP(yamop *cp) { - return (((yamop *)((CODEADDR)(cp) - (CELL)NEXTOP((yamop *)NULL,Osbpp)))->u.Osbpp.p); + return (((yamop *)((CODEADDR)(cp) - (CELL)NEXTOP((yamop *)NULL,Osbpp)))->y_u.Osbpp.p); } static inline @@ -1096,13 +1072,13 @@ UInt EnvSize(yamop *cp) static inline CELL *EnvBMap(yamop *p) { - return (((yamop *)((CODEADDR)(p) - (CELL)NEXTOP((yamop *)NULL,Osbpp)))->u.Osbpp.bmap); + return (((yamop *)((CODEADDR)(p) - (CELL)NEXTOP((yamop *)NULL,Osbpp)))->y_u.Osbpp.bmap); } static inline struct pred_entry *EnvPreg(yamop *p) { - return (((yamop *)((CODEADDR)(p) - (CELL)NEXTOP((yamop *)NULL,Osbpp)))->u.Osbpp.p0); + return (((yamop *)((CODEADDR)(p) - (CELL)NEXTOP((yamop *)NULL,Osbpp)))->y_u.Osbpp.p0); } /* access to instructions */ diff --git a/H/clause.h b/H/clause.h index 4dce4d03e..62edb98f1 100644 --- a/H/clause.h +++ b/H/clause.h @@ -33,7 +33,7 @@ typedef union CONSULT_OBJ { #define ASSEMBLING_INDEX 1 #define ASSEMBLING_EINDEX 2 -#define NextDynamicClause(X) (((yamop *)X)->u.Otapl.d) +#define NextDynamicClause(X) (((yamop *)X)->y_u.Otapl.d) #define PredFirstClause 0 #define PredMiddleClause 1 diff --git a/H/cut_c.h b/H/cut_c.h index b1c7b0333..75b942dc9 100644 --- a/H/cut_c.h +++ b/H/cut_c.h @@ -18,11 +18,11 @@ struct cut_c_str{ #define CUT_C_STR_SIZE ((sizeof(struct cut_c_str))/(sizeof(CELL))) #define EXTRA_CBACK_CUT_ARG(Type,Offset) \ -((Type) (*(Type *)(((CELL *)Yap_REGS.CUT_C_TOP) - (((yamop *)Yap_REGS.CUT_C_TOP->try_userc_cut_yamop)->u.OtapFs.extra)) + (Offset-1))) +((Type) (*(Type *)(((CELL *)Yap_REGS.CUT_C_TOP) - (((yamop *)Yap_REGS.CUT_C_TOP->try_userc_cut_yamop)->y_u.OtapFs.extra)) + (Offset-1))) #define CUT_C_PUSH(YAMOP,S_YREG) \ { \ - if ((YAMOP)->u.OtapFs.f){ \ + if ((YAMOP)->y_u.OtapFs.f){ \ S_YREG = S_YREG - CUT_C_STR_SIZE; \ cut_c_str_ptr new_top = (cut_c_str_ptr) S_YREG; \ new_top->try_userc_cut_yamop = YAMOP; \ @@ -37,8 +37,8 @@ struct cut_c_str{ #define POP_EXECUTE() \ cut_c_str_ptr TOP = Yap_REGS.CUT_C_TOP; \ - CPredicate func = (CPredicate)((yamop *)TOP->try_userc_cut_yamop)->u.OtapFs.f; \ - PredEntry *pred = (PredEntry *)((yamop *)TOP->try_userc_cut_yamop)->u.OtapFs.p; \ + CPredicate func = (CPredicate)((yamop *)TOP->try_userc_cut_yamop)->y_u.OtapFs.f; \ + PredEntry *pred = (PredEntry *)((yamop *)TOP->try_userc_cut_yamop)->y_u.OtapFs.p; \ YAP_ExecuteOnCut(pred, func, TOP); \ cut_c_pop(); diff --git a/H/findclause.h b/H/findclause.h index 611938e9f..569ec7c68 100644 --- a/H/findclause.h +++ b/H/findclause.h @@ -26,195 +26,195 @@ break; case _get_2atoms: if (is_regcopy(myregs, nofregs, Yap_regnotoreg(1))) { - if (IsApplTerm(cl->u.cc.c1)) { - CELL *pt = RepAppl(cl->u.cc.c1); + if (IsApplTerm(cl->y_u.cc.c1)) { + CELL *pt = RepAppl(cl->y_u.cc.c1); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cc.c1; + clause->ucd.t_ptr = cl->y_u.cc.c1; } else - clause->Tag = cl->u.cc.c1; + clause->Tag = cl->y_u.cc.c1; return; } if (is_regcopy(myregs, nofregs, Yap_regnotoreg(2))) { - if (IsApplTerm(cl->u.cc.c2)) { - CELL *pt = RepAppl(cl->u.cc.c2); + if (IsApplTerm(cl->y_u.cc.c2)) { + CELL *pt = RepAppl(cl->y_u.cc.c2); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cc.c2; + clause->ucd.t_ptr = cl->y_u.cc.c2; } else - clause->Tag = cl->u.cc.c2; + clause->Tag = cl->y_u.cc.c2; return; } cl = NEXTOP(cl,cc); break; case _get_3atoms: if (is_regcopy(myregs, nofregs, Yap_regnotoreg(1))) { - if (IsApplTerm(cl->u.ccc.c1)) { - CELL *pt = RepAppl(cl->u.ccc.c1); + if (IsApplTerm(cl->y_u.ccc.c1)) { + CELL *pt = RepAppl(cl->y_u.ccc.c1); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.ccc.c1; + clause->ucd.t_ptr = cl->y_u.ccc.c1; } else - clause->Tag = cl->u.ccc.c1; + clause->Tag = cl->y_u.ccc.c1; return; } if (is_regcopy(myregs, nofregs, Yap_regnotoreg(2))) { - if (IsApplTerm(cl->u.ccc.c2)) { - CELL *pt = RepAppl(cl->u.ccc.c2); + if (IsApplTerm(cl->y_u.ccc.c2)) { + CELL *pt = RepAppl(cl->y_u.ccc.c2); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.ccc.c2; + clause->ucd.t_ptr = cl->y_u.ccc.c2; } else - clause->Tag = cl->u.ccc.c2; + clause->Tag = cl->y_u.ccc.c2; return; } if (is_regcopy(myregs, nofregs, Yap_regnotoreg(3))) { - if (IsApplTerm(cl->u.ccc.c3)) { - CELL *pt = RepAppl(cl->u.ccc.c3); + if (IsApplTerm(cl->y_u.ccc.c3)) { + CELL *pt = RepAppl(cl->y_u.ccc.c3); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.ccc.c3; + clause->ucd.t_ptr = cl->y_u.ccc.c3; } else - clause->Tag = cl->u.ccc.c3; + clause->Tag = cl->y_u.ccc.c3; return; } cl = NEXTOP(cl,ccc); break; case _get_4atoms: if (is_regcopy(myregs, nofregs, Yap_regnotoreg(1))) { - if (IsApplTerm(cl->u.cccc.c1)) { - CELL *pt = RepAppl(cl->u.cccc.c1); + if (IsApplTerm(cl->y_u.cccc.c1)) { + CELL *pt = RepAppl(cl->y_u.cccc.c1); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccc.c1; + clause->ucd.t_ptr = cl->y_u.cccc.c1; } else - clause->Tag = cl->u.cccc.c1; + clause->Tag = cl->y_u.cccc.c1; return; } if (is_regcopy(myregs, nofregs, Yap_regnotoreg(2))) { - if (IsApplTerm(cl->u.cccc.c2)) { - CELL *pt = RepAppl(cl->u.cccc.c2); + if (IsApplTerm(cl->y_u.cccc.c2)) { + CELL *pt = RepAppl(cl->y_u.cccc.c2); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccc.c2; + clause->ucd.t_ptr = cl->y_u.cccc.c2; } else - clause->Tag = cl->u.cccc.c2; + clause->Tag = cl->y_u.cccc.c2; return; } if (is_regcopy(myregs, nofregs, Yap_regnotoreg(3))) { - if (IsApplTerm(cl->u.cccc.c3)) { - CELL *pt = RepAppl(cl->u.cccc.c3); + if (IsApplTerm(cl->y_u.cccc.c3)) { + CELL *pt = RepAppl(cl->y_u.cccc.c3); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccc.c3; + clause->ucd.t_ptr = cl->y_u.cccc.c3; } else - clause->Tag = cl->u.cccc.c3; + clause->Tag = cl->y_u.cccc.c3; return; } if (is_regcopy(myregs, nofregs, Yap_regnotoreg(4))) { - if (IsApplTerm(cl->u.cccc.c4)) { - CELL *pt = RepAppl(cl->u.cccc.c4); + if (IsApplTerm(cl->y_u.cccc.c4)) { + CELL *pt = RepAppl(cl->y_u.cccc.c4); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccc.c4; + clause->ucd.t_ptr = cl->y_u.cccc.c4; } else - clause->Tag = cl->u.cccc.c4; + clause->Tag = cl->y_u.cccc.c4; return; } cl = NEXTOP(cl,cccc); break; case _get_5atoms: if (is_regcopy(myregs, nofregs, Yap_regnotoreg(1))) { - if (IsApplTerm(cl->u.ccccc.c1)) { - CELL *pt = RepAppl(cl->u.ccccc.c1); + if (IsApplTerm(cl->y_u.ccccc.c1)) { + CELL *pt = RepAppl(cl->y_u.ccccc.c1); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.ccccc.c1; + clause->ucd.t_ptr = cl->y_u.ccccc.c1; } else - clause->Tag = cl->u.ccccc.c1; + clause->Tag = cl->y_u.ccccc.c1; return; } if (is_regcopy(myregs, nofregs, Yap_regnotoreg(2))) { - if (IsApplTerm(cl->u.ccccc.c2)) { - CELL *pt = RepAppl(cl->u.ccccc.c2); + if (IsApplTerm(cl->y_u.ccccc.c2)) { + CELL *pt = RepAppl(cl->y_u.ccccc.c2); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.ccccc.c2; + clause->ucd.t_ptr = cl->y_u.ccccc.c2; } else - clause->Tag = cl->u.ccccc.c2; + clause->Tag = cl->y_u.ccccc.c2; return; } if (is_regcopy(myregs, nofregs, Yap_regnotoreg(3))) { - if (IsApplTerm(cl->u.ccccc.c3)) { - CELL *pt = RepAppl(cl->u.ccccc.c3); + if (IsApplTerm(cl->y_u.ccccc.c3)) { + CELL *pt = RepAppl(cl->y_u.ccccc.c3); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.ccccc.c3; + clause->ucd.t_ptr = cl->y_u.ccccc.c3; } else - clause->Tag = cl->u.ccccc.c3; + clause->Tag = cl->y_u.ccccc.c3; return; } if (is_regcopy(myregs, nofregs, Yap_regnotoreg(4))) { - if (IsApplTerm(cl->u.ccccc.c4)) { - CELL *pt = RepAppl(cl->u.ccccc.c4); + if (IsApplTerm(cl->y_u.ccccc.c4)) { + CELL *pt = RepAppl(cl->y_u.ccccc.c4); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.ccccc.c4; + clause->ucd.t_ptr = cl->y_u.ccccc.c4; } else - clause->Tag = cl->u.ccccc.c4; + clause->Tag = cl->y_u.ccccc.c4; return; } if (is_regcopy(myregs, nofregs, Yap_regnotoreg(5))) { - if (IsApplTerm(cl->u.ccccc.c5)) { - CELL *pt = RepAppl(cl->u.ccccc.c5); + if (IsApplTerm(cl->y_u.ccccc.c5)) { + CELL *pt = RepAppl(cl->y_u.ccccc.c5); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.ccccc.c5; + clause->ucd.t_ptr = cl->y_u.ccccc.c5; } else - clause->Tag = cl->u.ccccc.c5; + clause->Tag = cl->y_u.ccccc.c5; return; } cl = NEXTOP(cl,ccccc); break; case _get_6atoms: if (is_regcopy(myregs, nofregs, Yap_regnotoreg(1))) { - if (IsApplTerm(cl->u.cccccc.c1)) { - CELL *pt = RepAppl(cl->u.cccccc.c1); + if (IsApplTerm(cl->y_u.cccccc.c1)) { + CELL *pt = RepAppl(cl->y_u.cccccc.c1); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccccc.c1; + clause->ucd.t_ptr = cl->y_u.cccccc.c1; } else - clause->Tag = cl->u.cccccc.c1; + clause->Tag = cl->y_u.cccccc.c1; return; } if (is_regcopy(myregs, nofregs, Yap_regnotoreg(2))) { - if (IsApplTerm(cl->u.cccccc.c2)) { - CELL *pt = RepAppl(cl->u.cccccc.c2); + if (IsApplTerm(cl->y_u.cccccc.c2)) { + CELL *pt = RepAppl(cl->y_u.cccccc.c2); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccccc.c2; + clause->ucd.t_ptr = cl->y_u.cccccc.c2; } else - clause->Tag = cl->u.cccccc.c2; + clause->Tag = cl->y_u.cccccc.c2; return; } if (is_regcopy(myregs, nofregs, Yap_regnotoreg(3))) { - if (IsApplTerm(cl->u.cccccc.c3)) { - CELL *pt = RepAppl(cl->u.cccccc.c3); + if (IsApplTerm(cl->y_u.cccccc.c3)) { + CELL *pt = RepAppl(cl->y_u.cccccc.c3); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccccc.c3; + clause->ucd.t_ptr = cl->y_u.cccccc.c3; } else - clause->Tag = cl->u.cccccc.c3; + clause->Tag = cl->y_u.cccccc.c3; return; } if (is_regcopy(myregs, nofregs, Yap_regnotoreg(4))) { - if (IsApplTerm(cl->u.cccccc.c4)) { - CELL *pt = RepAppl(cl->u.cccccc.c4); + if (IsApplTerm(cl->y_u.cccccc.c4)) { + CELL *pt = RepAppl(cl->y_u.cccccc.c4); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccccc.c4; + clause->ucd.t_ptr = cl->y_u.cccccc.c4; } else - clause->Tag = cl->u.cccccc.c4; + clause->Tag = cl->y_u.cccccc.c4; return; } if (is_regcopy(myregs, nofregs, Yap_regnotoreg(5))) { - if (IsApplTerm(cl->u.cccccc.c5)) { - CELL *pt = RepAppl(cl->u.cccccc.c5); + if (IsApplTerm(cl->y_u.cccccc.c5)) { + CELL *pt = RepAppl(cl->y_u.cccccc.c5); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccccc.c5; + clause->ucd.t_ptr = cl->y_u.cccccc.c5; } else - clause->Tag = cl->u.cccccc.c5; + clause->Tag = cl->y_u.cccccc.c5; return; } if (is_regcopy(myregs, nofregs, Yap_regnotoreg(6))) { - if (IsApplTerm(cl->u.cccccc.c6)) { - CELL *pt = RepAppl(cl->u.cccccc.c6); + if (IsApplTerm(cl->y_u.cccccc.c6)) { + CELL *pt = RepAppl(cl->y_u.cccccc.c6); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccccc.c6; + clause->ucd.t_ptr = cl->y_u.cccccc.c6; } else - clause->Tag = cl->u.cccccc.c6; + clause->Tag = cl->y_u.cccccc.c6; return; } cl = NEXTOP(cl,cccccc); @@ -416,28 +416,28 @@ cl = NEXTOP(cl,ou); break; case _save_appl_x: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.ox.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.ox.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,ox); break; case _save_appl_x_write: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.ox.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.ox.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,ox); break; case _save_pair_x: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.ox.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.ox.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,ox); break; case _save_pair_x_write: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.ox.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.ox.x))) { clause->Tag = (CELL)NULL; return; } @@ -456,14 +456,14 @@ cl = NEXTOP(cl,ox); break; case _unify_l_x_var: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.ox.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.ox.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,ox); break; case _unify_l_x_var_write: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.ox.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.ox.x))) { clause->Tag = (CELL)NULL; return; } @@ -482,86 +482,86 @@ cl = NEXTOP(cl,ox); break; case _unify_x_var: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.ox.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.ox.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,ox); break; case _unify_x_var_write: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.ox.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.ox.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,ox); break; case _unify_l_x_var2: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.oxx.xl))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oxx.xl))) { clause->Tag = (CELL)NULL; return; } - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.oxx.xr))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oxx.xr))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,oxx); break; case _unify_l_x_var2_write: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.oxx.xl))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oxx.xl))) { clause->Tag = (CELL)NULL; return; } - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.oxx.xr))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oxx.xr))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,oxx); break; case _unify_x_var2: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.oxx.xl))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oxx.xl))) { clause->Tag = (CELL)NULL; return; } - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.oxx.xr))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oxx.xr))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,oxx); break; case _unify_x_var2_write: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.oxx.xl))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oxx.xl))) { clause->Tag = (CELL)NULL; return; } - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.oxx.xr))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oxx.xr))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,oxx); break; case _save_appl_y: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.oy.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oy.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,oy); break; case _save_appl_y_write: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.oy.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oy.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,oy); break; case _save_pair_y: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.oy.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oy.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,oy); break; case _save_pair_y_write: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.oy.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oy.y))) { clause->Tag = (CELL)NULL; return; } @@ -580,14 +580,14 @@ cl = NEXTOP(cl,oy); break; case _unify_l_y_var: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.oy.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oy.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,oy); break; case _unify_l_y_var_write: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.oy.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oy.y))) { clause->Tag = (CELL)NULL; return; } @@ -606,14 +606,14 @@ cl = NEXTOP(cl,oy); break; case _unify_y_var: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.oy.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oy.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,oy); break; case _unify_y_var_write: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.oy.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oy.y))) { clause->Tag = (CELL)NULL; return; } @@ -647,7 +647,7 @@ cl = NEXTOP(cl,sc); break; case _get_list: - if (is_regcopy(myregs, nofregs, cl->u.x.x)) { + if (is_regcopy(myregs, nofregs, cl->y_u.x.x)) { clause->Tag = AbsPair(NULL); clause->ucd.WorkPC = NEXTOP(cl,x); return; @@ -655,14 +655,14 @@ cl = NEXTOP(cl,x); break; case _put_list: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.x.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.x.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,x); break; case _save_b_x: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.x.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.x.x))) { clause->Tag = (CELL)NULL; return; } @@ -672,21 +672,21 @@ cl = NEXTOP(cl,x); break; case _write_x_var: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.x.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.x.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,x); break; case _put_dbterm: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xD.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xD.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xD); break; case _get_bigint: - if (is_regcopy(myregs, nofregs, cl->u.xN.x)) { + if (is_regcopy(myregs, nofregs, cl->y_u.xN.x)) { clause->Tag = AbsAppl((CELL *)FunctorBigInt); clause->ucd.t_ptr = (CELL)NULL; return; @@ -694,82 +694,82 @@ cl = NEXTOP(cl,xN); break; case _put_bigint: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xN.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xN.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xN); break; case _get_atom: - if (is_regcopy(myregs, nofregs, cl->u.xc.x)) { - if (IsApplTerm(cl->u.xc.c)) { - CELL *pt = RepAppl(cl->u.xc.c); + if (is_regcopy(myregs, nofregs, cl->y_u.xc.x)) { + if (IsApplTerm(cl->y_u.xc.c)) { + CELL *pt = RepAppl(cl->y_u.xc.c); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.xc.c; + clause->ucd.t_ptr = cl->y_u.xc.c; } else - clause->Tag = cl->u.xc.c; + clause->Tag = cl->y_u.xc.c; return; } cl = NEXTOP(cl,xc); break; case _put_atom: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xc.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xc.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xc); break; case _get_float: - if (is_regcopy(myregs, nofregs, cl->u.xd.x)) { + if (is_regcopy(myregs, nofregs, cl->y_u.xd.x)) { clause->Tag = AbsAppl((CELL *)FunctorDouble); - clause->ucd.t_ptr = AbsAppl(cl->u.xd.d); + clause->ucd.t_ptr = AbsAppl(cl->y_u.xd.d); return; } cl = NEXTOP(cl,xd); break; case _put_float: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xd.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xd.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xd); break; case _get_struct: - if (is_regcopy(myregs, nofregs, cl->u.xfa.x)) { - clause->Tag = AbsAppl((CELL *)cl->u.xfa.f); + if (is_regcopy(myregs, nofregs, cl->y_u.xfa.x)) { + clause->Tag = AbsAppl((CELL *)cl->y_u.xfa.f); clause->ucd.WorkPC = NEXTOP(cl,xfa); return; } cl = NEXTOP(cl,xfa); break; case _put_struct: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xfa.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xfa.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xfa); break; case _get_longint: - if (is_regcopy(myregs, nofregs, cl->u.xi.x)) { + if (is_regcopy(myregs, nofregs, cl->y_u.xi.x)) { clause->Tag = AbsAppl((CELL *)FunctorLongInt); - clause->ucd.t_ptr = AbsAppl(cl->u.xi.i); + clause->ucd.t_ptr = AbsAppl(cl->y_u.xi.i); return; } cl = NEXTOP(cl,xi); break; case _put_longint: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xi.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xi.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xi); break; case _p_atom_x: - if (cl->u.xl.F != FAILCODE) { + if (cl->y_u.xl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } - if (is_regcopy(myregs, nofregs, cl->u.xl.x)) { + if (is_regcopy(myregs, nofregs, cl->y_u.xl.x)) { clause->Tag = (_atom+1)*sizeof(CELL); clause->ucd.t_ptr = (CELL)NULL; return; @@ -777,11 +777,11 @@ cl = NEXTOP(cl,xl); break; case _p_atomic_x: - if (cl->u.xl.F != FAILCODE) { + if (cl->y_u.xl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } - if (is_regcopy(myregs, nofregs, cl->u.xl.x)) { + if (is_regcopy(myregs, nofregs, cl->y_u.xl.x)) { clause->Tag = (_atomic+1)*sizeof(CELL); clause->ucd.t_ptr = (CELL)NULL; return; @@ -789,11 +789,11 @@ cl = NEXTOP(cl,xl); break; case _p_compound_x: - if (cl->u.xl.F != FAILCODE) { + if (cl->y_u.xl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } - if (is_regcopy(myregs, nofregs, cl->u.xl.x)) { + if (is_regcopy(myregs, nofregs, cl->y_u.xl.x)) { clause->Tag = (_compound+1)*sizeof(CELL); clause->ucd.t_ptr = (CELL)NULL; return; @@ -801,11 +801,11 @@ cl = NEXTOP(cl,xl); break; case _p_db_ref_x: - if (cl->u.xl.F != FAILCODE) { + if (cl->y_u.xl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } - if (is_regcopy(myregs, nofregs, cl->u.xl.x)) { + if (is_regcopy(myregs, nofregs, cl->y_u.xl.x)) { clause->Tag = AbsAppl((CELL *)FunctorDBRef); clause->ucd.t_ptr = (CELL)NULL; return; @@ -813,11 +813,11 @@ cl = NEXTOP(cl,xl); break; case _p_float_x: - if (cl->u.xl.F != FAILCODE) { + if (cl->y_u.xl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } - if (is_regcopy(myregs, nofregs, cl->u.xl.x)) { + if (is_regcopy(myregs, nofregs, cl->y_u.xl.x)) { clause->Tag = AbsAppl((CELL *)FunctorDouble); clause->ucd.t_ptr = (CELL)NULL; return; @@ -825,11 +825,11 @@ cl = NEXTOP(cl,xl); break; case _p_integer_x: - if (cl->u.xl.F != FAILCODE) { + if (cl->y_u.xl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } - if (is_regcopy(myregs, nofregs, cl->u.xl.x)) { + if (is_regcopy(myregs, nofregs, cl->y_u.xl.x)) { clause->Tag = (_integer+1)*sizeof(CELL); clause->ucd.t_ptr = (CELL)NULL; return; @@ -837,18 +837,18 @@ cl = NEXTOP(cl,xl); break; case _p_nonvar_x: - if (cl->u.xl.F != FAILCODE) { + if (cl->y_u.xl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xl); break; case _p_number_x: - if (cl->u.xl.F != FAILCODE) { + if (cl->y_u.xl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } - if (is_regcopy(myregs, nofregs, cl->u.xl.x)) { + if (is_regcopy(myregs, nofregs, cl->y_u.xl.x)) { clause->Tag = (_number+1)*sizeof(CELL); clause->ucd.t_ptr = (CELL)NULL; return; @@ -856,11 +856,11 @@ cl = NEXTOP(cl,xl); break; case _p_primitive_x: - if (cl->u.xl.F != FAILCODE) { + if (cl->y_u.xl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } - if (is_regcopy(myregs, nofregs, cl->u.xl.x)) { + if (is_regcopy(myregs, nofregs, cl->y_u.xl.x)) { clause->Tag = (_primitive+1)*sizeof(CELL); clause->ucd.t_ptr = (CELL)NULL; return; @@ -868,11 +868,11 @@ cl = NEXTOP(cl,xl); break; case _p_var_x: - if (cl->u.xl.F != FAILCODE) { + if (cl->y_u.xl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } - if (is_regcopy(myregs, nofregs, cl->u.xl.x)) { + if (is_regcopy(myregs, nofregs, cl->y_u.xl.x)) { clause->Tag = (_var+1)*sizeof(CELL); clause->ucd.t_ptr = (CELL)NULL; return; @@ -880,7 +880,7 @@ cl = NEXTOP(cl,xl); break; case _get_string: - if (is_regcopy(myregs, nofregs, cl->u.xu.x)) { + if (is_regcopy(myregs, nofregs, cl->y_u.xu.x)) { clause->Tag = AbsAppl((CELL *)FunctorString); clause->ucd.t_ptr = (CELL)NULL; return; @@ -888,21 +888,21 @@ cl = NEXTOP(cl,xu); break; case _get_x_val: - if (!(nofregs = link_regcopies(myregs, nofregs, cl->u.xx.xl, cl->u.xx.xr))) { + if (!(nofregs = link_regcopies(myregs, nofregs, cl->y_u.xx.xl, cl->y_u.xx.xr))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xx); break; case _get_x_var: - if (!(nofregs = add_regcopy(myregs, nofregs, cl->u.xx.xr, cl->u.xx.xl))) { + if (!(nofregs = add_regcopy(myregs, nofregs, cl->y_u.xx.xr, cl->y_u.xx.xl))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xx); break; case _gl_void_valx: - if (is_regcopy(myregs, nofregs, cl->u.xx.xl)) { + if (is_regcopy(myregs, nofregs, cl->y_u.xx.xl)) { clause->Tag = AbsPair(NULL); clause->ucd.WorkPC = cl; return; @@ -910,19 +910,19 @@ cl = NEXTOP(cl,xx); break; case _gl_void_varx: - if (is_regcopy(myregs, nofregs, cl->u.xx.xl)) { + if (is_regcopy(myregs, nofregs, cl->y_u.xx.xl)) { clause->Tag = AbsPair(NULL); clause->ucd.WorkPC = cl; return; } - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xx.xr))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xx.xr))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xx); break; case _glist_valx: - if (is_regcopy(myregs, nofregs, cl->u.xx.xl)) { + if (is_regcopy(myregs, nofregs, cl->y_u.xx.xl)) { clause->Tag = AbsPair(NULL); clause->ucd.WorkPC = cl; return; @@ -930,211 +930,211 @@ cl = NEXTOP(cl,xx); break; case _put_x_val: - if (!(nofregs = add_regcopy(myregs, nofregs, cl->u.xx.xl, cl->u.xx.xr))) { + if (!(nofregs = add_regcopy(myregs, nofregs, cl->y_u.xx.xl, cl->y_u.xx.xr))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xx); break; case _put_x_var: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xx.xl))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xx.xl))) { clause->Tag = (CELL)NULL; return; } - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xx.xr))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xx.xr))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xx); break; case _p_func2s_cv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxc.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxc.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxc); break; case _p_and_vc: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxn.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxn); break; case _p_arg_cv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxn.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxn); break; case _p_div_cv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxn.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxn); break; case _p_div_vc: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxn.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxn); break; case _p_func2s_vc: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxn.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxn); break; case _p_or_vc: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxn.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxn); break; case _p_plus_vc: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxn.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxn); break; case _p_sll_cv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxn.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxn); break; case _p_sll_vc: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxn.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxn); break; case _p_slr_cv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxn.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxn); break; case _p_slr_vc: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxn.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxn); break; case _p_times_vc: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxn.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxn); break; case _p_and_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxx.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxx); break; case _p_arg_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxx.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxx); break; case _p_div_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxx.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxx); break; case _p_func2f_xx: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxx.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxx); break; case _p_func2s_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxx.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxx); break; case _p_minus_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxx.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxx); break; case _p_or_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxx.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxx); break; case _p_plus_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxx.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxx); break; case _p_sll_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxx.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxx); break; case _p_slr_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxx.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxx); break; case _p_times_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxx.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxx); break; case _put_xx_val: - if (!(nofregs = add_regcopy(myregs, nofregs, cl->u.xxxx.xl1, cl->u.xxxx.xr1))) { + if (!(nofregs = add_regcopy(myregs, nofregs, cl->y_u.xxxx.xl1, cl->y_u.xxxx.xr1))) { clause->Tag = (CELL)NULL; return; } - if (!(nofregs = add_regcopy(myregs, nofregs, cl->u.xxxx.xl2, cl->u.xxxx.xr2))) { + if (!(nofregs = add_regcopy(myregs, nofregs, cl->y_u.xxxx.xl2, cl->y_u.xxxx.xr2))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxxx); break; case _p_func2f_xy: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.xxy.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxy.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxy); break; case _save_b_y: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.y.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.y.y))) { clause->Tag = (CELL)NULL; return; } @@ -1147,18 +1147,18 @@ cl = NEXTOP(cl,y); break; case _write_y_var: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.y.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.y.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,y); break; case _p_atom_y: - if (cl->u.yl.F != FAILCODE) { + if (cl->y_u.yl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } - if (is_regcopy(myregs, nofregs, cl->u.yl.y)) { + if (is_regcopy(myregs, nofregs, cl->y_u.yl.y)) { clause->Tag = (_atom+1)*sizeof(CELL); clause->ucd.t_ptr = (CELL)NULL; return; @@ -1166,11 +1166,11 @@ cl = NEXTOP(cl,yl); break; case _p_atomic_y: - if (cl->u.yl.F != FAILCODE) { + if (cl->y_u.yl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } - if (is_regcopy(myregs, nofregs, cl->u.yl.y)) { + if (is_regcopy(myregs, nofregs, cl->y_u.yl.y)) { clause->Tag = (_atomic+1)*sizeof(CELL); clause->ucd.t_ptr = (CELL)NULL; return; @@ -1178,11 +1178,11 @@ cl = NEXTOP(cl,yl); break; case _p_compound_y: - if (cl->u.yl.F != FAILCODE) { + if (cl->y_u.yl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } - if (is_regcopy(myregs, nofregs, cl->u.yl.y)) { + if (is_regcopy(myregs, nofregs, cl->y_u.yl.y)) { clause->Tag = (_compound+1)*sizeof(CELL); clause->ucd.t_ptr = (CELL)NULL; return; @@ -1190,11 +1190,11 @@ cl = NEXTOP(cl,yl); break; case _p_db_ref_y: - if (cl->u.yl.F != FAILCODE) { + if (cl->y_u.yl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } - if (is_regcopy(myregs, nofregs, cl->u.yl.y)) { + if (is_regcopy(myregs, nofregs, cl->y_u.yl.y)) { clause->Tag = AbsAppl((CELL *)FunctorDBRef); clause->ucd.t_ptr = (CELL)NULL; return; @@ -1202,11 +1202,11 @@ cl = NEXTOP(cl,yl); break; case _p_float_y: - if (cl->u.yl.F != FAILCODE) { + if (cl->y_u.yl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } - if (is_regcopy(myregs, nofregs, cl->u.yl.y)) { + if (is_regcopy(myregs, nofregs, cl->y_u.yl.y)) { clause->Tag = AbsAppl((CELL *)FunctorDouble); clause->ucd.t_ptr = (CELL)NULL; return; @@ -1214,11 +1214,11 @@ cl = NEXTOP(cl,yl); break; case _p_integer_y: - if (cl->u.yl.F != FAILCODE) { + if (cl->y_u.yl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } - if (is_regcopy(myregs, nofregs, cl->u.yl.y)) { + if (is_regcopy(myregs, nofregs, cl->y_u.yl.y)) { clause->Tag = (_integer+1)*sizeof(CELL); clause->ucd.t_ptr = (CELL)NULL; return; @@ -1226,18 +1226,18 @@ cl = NEXTOP(cl,yl); break; case _p_nonvar_y: - if (cl->u.yl.F != FAILCODE) { + if (cl->y_u.yl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yl); break; case _p_number_y: - if (cl->u.yl.F != FAILCODE) { + if (cl->y_u.yl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } - if (is_regcopy(myregs, nofregs, cl->u.yl.y)) { + if (is_regcopy(myregs, nofregs, cl->y_u.yl.y)) { clause->Tag = (_number+1)*sizeof(CELL); clause->ucd.t_ptr = (CELL)NULL; return; @@ -1245,11 +1245,11 @@ cl = NEXTOP(cl,yl); break; case _p_primitive_y: - if (cl->u.yl.F != FAILCODE) { + if (cl->y_u.yl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } - if (is_regcopy(myregs, nofregs, cl->u.yl.y)) { + if (is_regcopy(myregs, nofregs, cl->y_u.yl.y)) { clause->Tag = (_primitive+1)*sizeof(CELL); clause->ucd.t_ptr = (CELL)NULL; return; @@ -1257,11 +1257,11 @@ cl = NEXTOP(cl,yl); break; case _p_var_y: - if (cl->u.yl.F != FAILCODE) { + if (cl->y_u.yl.F != FAILCODE) { clause->Tag = (CELL)NULL; return; } - if (is_regcopy(myregs, nofregs, cl->u.yl.y)) { + if (is_regcopy(myregs, nofregs, cl->y_u.yl.y)) { clause->Tag = (_var+1)*sizeof(CELL); clause->ucd.t_ptr = (CELL)NULL; return; @@ -1269,21 +1269,21 @@ cl = NEXTOP(cl,yl); break; case _get_y_val: - if (!(nofregs = link_regcopies(myregs, nofregs, cl->u.yx.x, cl->u.yx.y))) { + if (!(nofregs = link_regcopies(myregs, nofregs, cl->y_u.yx.x, cl->y_u.yx.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yx); break; case _get_y_var: - if (!(nofregs = add_regcopy(myregs, nofregs, cl->u.yx.x, cl->u.yx.y))) { + if (!(nofregs = add_regcopy(myregs, nofregs, cl->y_u.yx.x, cl->y_u.yx.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yx); break; case _gl_void_valy: - if (is_regcopy(myregs, nofregs, cl->u.yx.y)) { + if (is_regcopy(myregs, nofregs, cl->y_u.yx.y)) { clause->Tag = AbsPair(NULL); clause->ucd.WorkPC = cl; return; @@ -1291,19 +1291,19 @@ cl = NEXTOP(cl,yx); break; case _gl_void_vary: - if (is_regcopy(myregs, nofregs, cl->u.yx.y)) { + if (is_regcopy(myregs, nofregs, cl->y_u.yx.y)) { clause->Tag = AbsPair(NULL); clause->ucd.WorkPC = cl; return; } - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yx.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yx.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yx); break; case _glist_valy: - if (is_regcopy(myregs, nofregs, cl->u.yx.x)) { + if (is_regcopy(myregs, nofregs, cl->y_u.yx.x)) { clause->Tag = AbsPair(NULL); clause->ucd.WorkPC = cl; return; @@ -1311,211 +1311,211 @@ cl = NEXTOP(cl,yx); break; case _put_unsafe: - if (!(nofregs = add_regcopy(myregs, nofregs, cl->u.yx.y, cl->u.yx.x))) { + if (!(nofregs = add_regcopy(myregs, nofregs, cl->y_u.yx.y, cl->y_u.yx.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yx); break; case _put_y_val: - if (!(nofregs = add_regcopy(myregs, nofregs, cl->u.yx.y, cl->u.yx.x))) { + if (!(nofregs = add_regcopy(myregs, nofregs, cl->y_u.yx.y, cl->y_u.yx.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yx); break; case _put_y_var: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yx.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yx.x))) { clause->Tag = (CELL)NULL; return; } - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yx.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yx.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yx); break; case _p_func2s_y_cv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxc.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxc.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxc); break; case _p_and_y_vc: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxn.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxn); break; case _p_arg_y_cv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxn.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxn); break; case _p_div_y_cv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxn.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxn); break; case _p_div_y_vc: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxn.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxn); break; case _p_func2s_y_vc: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxn.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxn); break; case _p_or_y_vc: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxn.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxn); break; case _p_plus_y_vc: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxn.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxn); break; case _p_sll_y_cv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxn.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxn); break; case _p_sll_y_vc: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxn.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxn); break; case _p_slr_y_cv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxn.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxn); break; case _p_slr_y_vc: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxn.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxn); break; case _p_times_y_vc: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxn.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxn); break; case _p_and_y_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxx.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxx); break; case _p_arg_y_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxx.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxx); break; case _p_div_y_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxx.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxx); break; case _p_func2f_yx: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxx.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxx); break; case _p_func2s_y_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxx.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxx); break; case _p_minus_y_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxx.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxx); break; case _p_or_y_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxx.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxx); break; case _p_plus_y_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxx.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxx); break; case _p_sll_y_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxx.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxx); break; case _p_slr_y_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxx.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxx); break; case _p_times_y_vv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxx.y))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yxx); break; case _p_func2f_yy: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yyx.x))) { + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yyx.x))) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yyx); break; case _get_yy_var: - if (!(nofregs = add_regcopy(myregs, nofregs, cl->u.yyxx.x1, cl->u.yyxx.y1))) { + if (!(nofregs = add_regcopy(myregs, nofregs, cl->y_u.yyxx.x1, cl->y_u.yyxx.y1))) { clause->Tag = (CELL)NULL; return; } - if (!(nofregs = add_regcopy(myregs, nofregs, cl->u.yyxx.x2, cl->u.yyxx.y2))) { + if (!(nofregs = add_regcopy(myregs, nofregs, cl->y_u.yyxx.x2, cl->y_u.yyxx.y2))) { clause->Tag = (CELL)NULL; return; } diff --git a/H/headclause.h b/H/headclause.h index 23b42888f..31d64ab96 100644 --- a/H/headclause.h +++ b/H/headclause.h @@ -14,195 +14,195 @@ break; case _get_2atoms: if (iarg == Yap_regnotoreg(1)) { - if (IsApplTerm(cl->u.cc.c1)) { - CELL *pt = RepAppl(cl->u.cc.c1); + if (IsApplTerm(cl->y_u.cc.c1)) { + CELL *pt = RepAppl(cl->y_u.cc.c1); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cc.c1; + clause->ucd.t_ptr = cl->y_u.cc.c1; } else - clause->Tag = cl->u.cc.c1; + clause->Tag = cl->y_u.cc.c1; return; } if (iarg == Yap_regnotoreg(2)) { - if (IsApplTerm(cl->u.cc.c2)) { - CELL *pt = RepAppl(cl->u.cc.c2); + if (IsApplTerm(cl->y_u.cc.c2)) { + CELL *pt = RepAppl(cl->y_u.cc.c2); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cc.c2; + clause->ucd.t_ptr = cl->y_u.cc.c2; } else - clause->Tag = cl->u.cc.c2; + clause->Tag = cl->y_u.cc.c2; return; } cl = NEXTOP(cl,cc); break; case _get_3atoms: if (iarg == Yap_regnotoreg(1)) { - if (IsApplTerm(cl->u.ccc.c1)) { - CELL *pt = RepAppl(cl->u.ccc.c1); + if (IsApplTerm(cl->y_u.ccc.c1)) { + CELL *pt = RepAppl(cl->y_u.ccc.c1); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.ccc.c1; + clause->ucd.t_ptr = cl->y_u.ccc.c1; } else - clause->Tag = cl->u.ccc.c1; + clause->Tag = cl->y_u.ccc.c1; return; } if (iarg == Yap_regnotoreg(2)) { - if (IsApplTerm(cl->u.ccc.c2)) { - CELL *pt = RepAppl(cl->u.ccc.c2); + if (IsApplTerm(cl->y_u.ccc.c2)) { + CELL *pt = RepAppl(cl->y_u.ccc.c2); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.ccc.c2; + clause->ucd.t_ptr = cl->y_u.ccc.c2; } else - clause->Tag = cl->u.ccc.c2; + clause->Tag = cl->y_u.ccc.c2; return; } if (iarg == Yap_regnotoreg(3)) { - if (IsApplTerm(cl->u.ccc.c3)) { - CELL *pt = RepAppl(cl->u.ccc.c3); + if (IsApplTerm(cl->y_u.ccc.c3)) { + CELL *pt = RepAppl(cl->y_u.ccc.c3); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.ccc.c3; + clause->ucd.t_ptr = cl->y_u.ccc.c3; } else - clause->Tag = cl->u.ccc.c3; + clause->Tag = cl->y_u.ccc.c3; return; } cl = NEXTOP(cl,ccc); break; case _get_4atoms: if (iarg == Yap_regnotoreg(1)) { - if (IsApplTerm(cl->u.cccc.c1)) { - CELL *pt = RepAppl(cl->u.cccc.c1); + if (IsApplTerm(cl->y_u.cccc.c1)) { + CELL *pt = RepAppl(cl->y_u.cccc.c1); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccc.c1; + clause->ucd.t_ptr = cl->y_u.cccc.c1; } else - clause->Tag = cl->u.cccc.c1; + clause->Tag = cl->y_u.cccc.c1; return; } if (iarg == Yap_regnotoreg(2)) { - if (IsApplTerm(cl->u.cccc.c2)) { - CELL *pt = RepAppl(cl->u.cccc.c2); + if (IsApplTerm(cl->y_u.cccc.c2)) { + CELL *pt = RepAppl(cl->y_u.cccc.c2); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccc.c2; + clause->ucd.t_ptr = cl->y_u.cccc.c2; } else - clause->Tag = cl->u.cccc.c2; + clause->Tag = cl->y_u.cccc.c2; return; } if (iarg == Yap_regnotoreg(3)) { - if (IsApplTerm(cl->u.cccc.c3)) { - CELL *pt = RepAppl(cl->u.cccc.c3); + if (IsApplTerm(cl->y_u.cccc.c3)) { + CELL *pt = RepAppl(cl->y_u.cccc.c3); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccc.c3; + clause->ucd.t_ptr = cl->y_u.cccc.c3; } else - clause->Tag = cl->u.cccc.c3; + clause->Tag = cl->y_u.cccc.c3; return; } if (iarg == Yap_regnotoreg(4)) { - if (IsApplTerm(cl->u.cccc.c4)) { - CELL *pt = RepAppl(cl->u.cccc.c4); + if (IsApplTerm(cl->y_u.cccc.c4)) { + CELL *pt = RepAppl(cl->y_u.cccc.c4); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccc.c4; + clause->ucd.t_ptr = cl->y_u.cccc.c4; } else - clause->Tag = cl->u.cccc.c4; + clause->Tag = cl->y_u.cccc.c4; return; } cl = NEXTOP(cl,cccc); break; case _get_5atoms: if (iarg == Yap_regnotoreg(1)) { - if (IsApplTerm(cl->u.ccccc.c1)) { - CELL *pt = RepAppl(cl->u.ccccc.c1); + if (IsApplTerm(cl->y_u.ccccc.c1)) { + CELL *pt = RepAppl(cl->y_u.ccccc.c1); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.ccccc.c1; + clause->ucd.t_ptr = cl->y_u.ccccc.c1; } else - clause->Tag = cl->u.ccccc.c1; + clause->Tag = cl->y_u.ccccc.c1; return; } if (iarg == Yap_regnotoreg(2)) { - if (IsApplTerm(cl->u.ccccc.c2)) { - CELL *pt = RepAppl(cl->u.ccccc.c2); + if (IsApplTerm(cl->y_u.ccccc.c2)) { + CELL *pt = RepAppl(cl->y_u.ccccc.c2); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.ccccc.c2; + clause->ucd.t_ptr = cl->y_u.ccccc.c2; } else - clause->Tag = cl->u.ccccc.c2; + clause->Tag = cl->y_u.ccccc.c2; return; } if (iarg == Yap_regnotoreg(3)) { - if (IsApplTerm(cl->u.ccccc.c3)) { - CELL *pt = RepAppl(cl->u.ccccc.c3); + if (IsApplTerm(cl->y_u.ccccc.c3)) { + CELL *pt = RepAppl(cl->y_u.ccccc.c3); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.ccccc.c3; + clause->ucd.t_ptr = cl->y_u.ccccc.c3; } else - clause->Tag = cl->u.ccccc.c3; + clause->Tag = cl->y_u.ccccc.c3; return; } if (iarg == Yap_regnotoreg(4)) { - if (IsApplTerm(cl->u.ccccc.c4)) { - CELL *pt = RepAppl(cl->u.ccccc.c4); + if (IsApplTerm(cl->y_u.ccccc.c4)) { + CELL *pt = RepAppl(cl->y_u.ccccc.c4); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.ccccc.c4; + clause->ucd.t_ptr = cl->y_u.ccccc.c4; } else - clause->Tag = cl->u.ccccc.c4; + clause->Tag = cl->y_u.ccccc.c4; return; } if (iarg == Yap_regnotoreg(5)) { - if (IsApplTerm(cl->u.ccccc.c5)) { - CELL *pt = RepAppl(cl->u.ccccc.c5); + if (IsApplTerm(cl->y_u.ccccc.c5)) { + CELL *pt = RepAppl(cl->y_u.ccccc.c5); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.ccccc.c5; + clause->ucd.t_ptr = cl->y_u.ccccc.c5; } else - clause->Tag = cl->u.ccccc.c5; + clause->Tag = cl->y_u.ccccc.c5; return; } cl = NEXTOP(cl,ccccc); break; case _get_6atoms: if (iarg == Yap_regnotoreg(1)) { - if (IsApplTerm(cl->u.cccccc.c1)) { - CELL *pt = RepAppl(cl->u.cccccc.c1); + if (IsApplTerm(cl->y_u.cccccc.c1)) { + CELL *pt = RepAppl(cl->y_u.cccccc.c1); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccccc.c1; + clause->ucd.t_ptr = cl->y_u.cccccc.c1; } else - clause->Tag = cl->u.cccccc.c1; + clause->Tag = cl->y_u.cccccc.c1; return; } if (iarg == Yap_regnotoreg(2)) { - if (IsApplTerm(cl->u.cccccc.c2)) { - CELL *pt = RepAppl(cl->u.cccccc.c2); + if (IsApplTerm(cl->y_u.cccccc.c2)) { + CELL *pt = RepAppl(cl->y_u.cccccc.c2); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccccc.c2; + clause->ucd.t_ptr = cl->y_u.cccccc.c2; } else - clause->Tag = cl->u.cccccc.c2; + clause->Tag = cl->y_u.cccccc.c2; return; } if (iarg == Yap_regnotoreg(3)) { - if (IsApplTerm(cl->u.cccccc.c3)) { - CELL *pt = RepAppl(cl->u.cccccc.c3); + if (IsApplTerm(cl->y_u.cccccc.c3)) { + CELL *pt = RepAppl(cl->y_u.cccccc.c3); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccccc.c3; + clause->ucd.t_ptr = cl->y_u.cccccc.c3; } else - clause->Tag = cl->u.cccccc.c3; + clause->Tag = cl->y_u.cccccc.c3; return; } if (iarg == Yap_regnotoreg(4)) { - if (IsApplTerm(cl->u.cccccc.c4)) { - CELL *pt = RepAppl(cl->u.cccccc.c4); + if (IsApplTerm(cl->y_u.cccccc.c4)) { + CELL *pt = RepAppl(cl->y_u.cccccc.c4); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccccc.c4; + clause->ucd.t_ptr = cl->y_u.cccccc.c4; } else - clause->Tag = cl->u.cccccc.c4; + clause->Tag = cl->y_u.cccccc.c4; return; } if (iarg == Yap_regnotoreg(5)) { - if (IsApplTerm(cl->u.cccccc.c5)) { - CELL *pt = RepAppl(cl->u.cccccc.c5); + if (IsApplTerm(cl->y_u.cccccc.c5)) { + CELL *pt = RepAppl(cl->y_u.cccccc.c5); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccccc.c5; + clause->ucd.t_ptr = cl->y_u.cccccc.c5; } else - clause->Tag = cl->u.cccccc.c5; + clause->Tag = cl->y_u.cccccc.c5; return; } if (iarg == Yap_regnotoreg(6)) { - if (IsApplTerm(cl->u.cccccc.c6)) { - CELL *pt = RepAppl(cl->u.cccccc.c6); + if (IsApplTerm(cl->y_u.cccccc.c6)) { + CELL *pt = RepAppl(cl->y_u.cccccc.c6); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.cccccc.c6; + clause->ucd.t_ptr = cl->y_u.cccccc.c6; } else - clause->Tag = cl->u.cccccc.c6; + clause->Tag = cl->y_u.cccccc.c6; return; } cl = NEXTOP(cl,cccccc); @@ -383,28 +383,28 @@ cl = NEXTOP(cl,ou); break; case _save_appl_x: - if (iarg == cl->u.ox.x) { + if (iarg == cl->y_u.ox.x) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,ox); break; case _save_appl_x_write: - if (iarg == cl->u.ox.x) { + if (iarg == cl->y_u.ox.x) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,ox); break; case _save_pair_x: - if (iarg == cl->u.ox.x) { + if (iarg == cl->y_u.ox.x) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,ox); break; case _save_pair_x_write: - if (iarg == cl->u.ox.x) { + if (iarg == cl->y_u.ox.x) { clause->Tag = (CELL)NULL; return; } @@ -423,14 +423,14 @@ cl = NEXTOP(cl,ox); break; case _unify_l_x_var: - if (iarg == cl->u.ox.x) { + if (iarg == cl->y_u.ox.x) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,ox); break; case _unify_l_x_var_write: - if (iarg == cl->u.ox.x) { + if (iarg == cl->y_u.ox.x) { clause->Tag = (CELL)NULL; return; } @@ -449,58 +449,58 @@ cl = NEXTOP(cl,ox); break; case _unify_x_var: - if (iarg == cl->u.ox.x) { + if (iarg == cl->y_u.ox.x) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,ox); break; case _unify_x_var_write: - if (iarg == cl->u.ox.x) { + if (iarg == cl->y_u.ox.x) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,ox); break; case _unify_l_x_var2: - if (iarg == cl->u.oxx.xl) { + if (iarg == cl->y_u.oxx.xl) { clause->Tag = (CELL)NULL; return; } - if (iarg == cl->u.oxx.xr) { + if (iarg == cl->y_u.oxx.xr) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,oxx); break; case _unify_l_x_var2_write: - if (iarg == cl->u.oxx.xl) { + if (iarg == cl->y_u.oxx.xl) { clause->Tag = (CELL)NULL; return; } - if (iarg == cl->u.oxx.xr) { + if (iarg == cl->y_u.oxx.xr) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,oxx); break; case _unify_x_var2: - if (iarg == cl->u.oxx.xl) { + if (iarg == cl->y_u.oxx.xl) { clause->Tag = (CELL)NULL; return; } - if (iarg == cl->u.oxx.xr) { + if (iarg == cl->y_u.oxx.xr) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,oxx); break; case _unify_x_var2_write: - if (iarg == cl->u.oxx.xl) { + if (iarg == cl->y_u.oxx.xl) { clause->Tag = (CELL)NULL; return; } - if (iarg == cl->u.oxx.xr) { + if (iarg == cl->y_u.oxx.xr) { clause->Tag = (CELL)NULL; return; } @@ -558,7 +558,7 @@ cl = NEXTOP(cl,s); break; case _get_list: - if (iarg == cl->u.x.x) { + if (iarg == cl->y_u.x.x) { clause->Tag = AbsPair(NULL); clause->ucd.WorkPC = NEXTOP(cl,x); return; @@ -566,21 +566,21 @@ cl = NEXTOP(cl,x); break; case _put_list: - if (iarg == cl->u.x.x) { + if (iarg == cl->y_u.x.x) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,x); break; case _put_dbterm: - if (iarg == cl->u.xD.x) { + if (iarg == cl->y_u.xD.x) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xD); break; case _get_bigint: - if (iarg == cl->u.xN.x) { + if (iarg == cl->y_u.xN.x) { clause->Tag = AbsAppl((CELL *)FunctorBigInt); clause->ucd.t_ptr = (CELL)NULL; return; @@ -588,78 +588,78 @@ cl = NEXTOP(cl,xN); break; case _put_bigint: - if (iarg == cl->u.xN.x) { + if (iarg == cl->y_u.xN.x) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xN); break; case _get_atom: - if (iarg == cl->u.xc.x) { - if (IsApplTerm(cl->u.xc.c)) { - CELL *pt = RepAppl(cl->u.xc.c); + if (iarg == cl->y_u.xc.x) { + if (IsApplTerm(cl->y_u.xc.c)) { + CELL *pt = RepAppl(cl->y_u.xc.c); clause->Tag = AbsAppl((CELL *)pt[0]); - clause->ucd.t_ptr = cl->u.xc.c; + clause->ucd.t_ptr = cl->y_u.xc.c; } else - clause->Tag = cl->u.xc.c; + clause->Tag = cl->y_u.xc.c; return; } cl = NEXTOP(cl,xc); break; case _put_atom: - if (iarg == cl->u.xc.x) { + if (iarg == cl->y_u.xc.x) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xc); break; case _get_float: - if (iarg == cl->u.xd.x) { + if (iarg == cl->y_u.xd.x) { clause->Tag = AbsAppl((CELL *)FunctorDouble); - clause->ucd.t_ptr = AbsAppl(cl->u.xd.d); + clause->ucd.t_ptr = AbsAppl(cl->y_u.xd.d); return; } cl = NEXTOP(cl,xd); break; case _put_float: - if (iarg == cl->u.xd.x) { + if (iarg == cl->y_u.xd.x) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xd); break; case _get_struct: - if (iarg == cl->u.xfa.x) { - clause->Tag = AbsAppl((CELL *)cl->u.xfa.f); + if (iarg == cl->y_u.xfa.x) { + clause->Tag = AbsAppl((CELL *)cl->y_u.xfa.f); clause->ucd.WorkPC = NEXTOP(cl,xfa); return; } cl = NEXTOP(cl,xfa); break; case _put_struct: - if (iarg == cl->u.xfa.x) { + if (iarg == cl->y_u.xfa.x) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xfa); break; case _get_longint: - if (iarg == cl->u.xi.x) { + if (iarg == cl->y_u.xi.x) { clause->Tag = AbsAppl((CELL *)FunctorLongInt); - clause->ucd.t_ptr = AbsAppl(cl->u.xi.i); + clause->ucd.t_ptr = AbsAppl(cl->y_u.xi.i); return; } cl = NEXTOP(cl,xi); break; case _put_longint: - if (iarg == cl->u.xi.x) { + if (iarg == cl->y_u.xi.x) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xi); break; case _get_string: - if (iarg == cl->u.xu.x) { + if (iarg == cl->y_u.xu.x) { clause->Tag = AbsAppl((CELL *)FunctorString); clause->ucd.t_ptr = (CELL)NULL; return; @@ -667,23 +667,23 @@ cl = NEXTOP(cl,xu); break; case _get_x_val: - if (cl->u.xx.xl == iarg || - cl->u.xx.xr == iarg) { + if (cl->y_u.xx.xl == iarg || + cl->y_u.xx.xr == iarg) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xx); break; case _get_x_var: - if (cl->u.xx.xr == iarg || - cl->u.xx.xl == iarg) { + if (cl->y_u.xx.xr == iarg || + cl->y_u.xx.xl == iarg) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xx); break; case _gl_void_valx: - if (iarg == cl->u.xx.xl) { + if (iarg == cl->y_u.xx.xl) { clause->Tag = AbsPair(NULL); clause->ucd.WorkPC = cl; return; @@ -691,19 +691,19 @@ cl = NEXTOP(cl,xx); break; case _gl_void_varx: - if (iarg == cl->u.xx.xl) { + if (iarg == cl->y_u.xx.xl) { clause->Tag = AbsPair(NULL); clause->ucd.WorkPC = cl; return; } - if (iarg == cl->u.xx.xr) { + if (iarg == cl->y_u.xx.xr) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xx); break; case _glist_valx: - if (iarg == cl->u.xx.xl) { + if (iarg == cl->y_u.xx.xl) { clause->Tag = AbsPair(NULL); clause->ucd.WorkPC = cl; return; @@ -711,46 +711,46 @@ cl = NEXTOP(cl,xx); break; case _put_x_val: - if (cl->u.xx.xl == iarg || - cl->u.xx.xr == iarg) { + if (cl->y_u.xx.xl == iarg || + cl->y_u.xx.xr == iarg) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xx); break; case _put_x_var: - if (iarg == cl->u.xx.xl) { + if (iarg == cl->y_u.xx.xl) { clause->Tag = (CELL)NULL; return; } - if (iarg == cl->u.xx.xr) { + if (iarg == cl->y_u.xx.xr) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xx); break; case _put_xx_val: - if (cl->u.xxxx.xl1 == iarg || - cl->u.xxxx.xr1 == iarg) { + if (cl->y_u.xxxx.xl1 == iarg || + cl->y_u.xxxx.xr1 == iarg) { clause->Tag = (CELL)NULL; return; } - if (cl->u.xxxx.xl2 == iarg || - cl->u.xxxx.xr2 == iarg) { + if (cl->y_u.xxxx.xl2 == iarg || + cl->y_u.xxxx.xr2 == iarg) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,xxxx); break; case _get_y_val: - if (cl->u.yx.x == iarg) { + if (cl->y_u.yx.x == iarg) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yx); break; case _get_y_var: - if (cl->u.yx.x == iarg) { + if (cl->y_u.yx.x == iarg) { clause->Tag = (CELL)NULL; return; } @@ -763,7 +763,7 @@ cl = NEXTOP(cl,yx); break; case _glist_valy: - if (iarg == cl->u.yx.x) { + if (iarg == cl->y_u.yx.x) { clause->Tag = AbsPair(NULL); clause->ucd.WorkPC = cl; return; @@ -771,32 +771,32 @@ cl = NEXTOP(cl,yx); break; case _put_unsafe: - if (cl->u.yx.x == iarg) { + if (cl->y_u.yx.x == iarg) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yx); break; case _put_y_val: - if (cl->u.yx.x == iarg) { + if (cl->y_u.yx.x == iarg) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yx); break; case _put_y_var: - if (iarg == cl->u.yx.x) { + if (iarg == cl->y_u.yx.x) { clause->Tag = (CELL)NULL; return; } cl = NEXTOP(cl,yx); break; case _get_yy_var: - if (cl->u.yyxx.x1 == iarg) { + if (cl->y_u.yyxx.x1 == iarg) { clause->Tag = (CELL)NULL; return; } - if (cl->u.yyxx.x2 == iarg) { + if (cl->y_u.yyxx.x2 == iarg) { clause->Tag = (CELL)NULL; return; } diff --git a/H/rclause.h b/H/rclause.h index 4cf3a05fd..cfb35b8f7 100644 --- a/H/rclause.h +++ b/H/rclause.h @@ -18,56 +18,56 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) switch (op) { /* instructions type D */ case _write_dbterm: - pc->u.D.D = DBGroundTermAdjust(pc->u.D.D); + pc->y_u.D.D = DBGroundTermAdjust(pc->y_u.D.D); pc = NEXTOP(pc,D); break; /* instructions type Illss */ case _enter_lu_pred: - pc->u.Illss.I = PtoLUIndexAdjust(pc->u.Illss.I); - pc->u.Illss.l1 = PtoOpAdjust(pc->u.Illss.l1); - pc->u.Illss.l2 = PtoOpAdjust(pc->u.Illss.l2); - pc->u.Illss.s = ConstantAdjust(pc->u.Illss.s); - pc->u.Illss.e = ConstantAdjust(pc->u.Illss.e); + pc->y_u.Illss.I = PtoLUIndexAdjust(pc->y_u.Illss.I); + pc->y_u.Illss.l1 = PtoOpAdjust(pc->y_u.Illss.l1); + pc->y_u.Illss.l2 = PtoOpAdjust(pc->y_u.Illss.l2); + pc->y_u.Illss.s = ConstantAdjust(pc->y_u.Illss.s); + pc->y_u.Illss.e = ConstantAdjust(pc->y_u.Illss.e); opc = NEXTOP(pc,Illss); - pc = pc->u.Illss.l1; + pc = pc->y_u.Illss.l1; break; /* instructions type L */ case _alloc_for_logical_pred: - pc->u.L.ClBase = PtoLUClauseAdjust(pc->u.L.ClBase); + pc->y_u.L.ClBase = PtoLUClauseAdjust(pc->y_u.L.ClBase); pc = NEXTOP(pc,L); break; /* instructions type N */ case _write_bigint: - pc->u.N.b = BlobTermInCodeAdjust(pc->u.N.b); + pc->y_u.N.b = BlobTermInCodeAdjust(pc->y_u.N.b); pc = NEXTOP(pc,N); break; /* instructions type Osblp */ case _either: case _or_else: - OrArgAdjust(pc->u.Osblp.or_arg); - pc->u.Osblp.s = ConstantAdjust(pc->u.Osblp.s); - pc->u.Osblp.bmap = CellPtoHeapAdjust(pc->u.Osblp.bmap); - pc->u.Osblp.l = PtoOpAdjust(pc->u.Osblp.l); - pc->u.Osblp.p0 = PtoPredAdjust(pc->u.Osblp.p0); + OrArgAdjust(pc->y_u.Osblp.or_arg); + pc->y_u.Osblp.s = ConstantAdjust(pc->y_u.Osblp.s); + pc->y_u.Osblp.bmap = CellPtoHeapAdjust(pc->y_u.Osblp.bmap); + pc->y_u.Osblp.l = PtoOpAdjust(pc->y_u.Osblp.l); + pc->y_u.Osblp.p0 = PtoPredAdjust(pc->y_u.Osblp.p0); pc = NEXTOP(pc,Osblp); break; /* instructions type Osbmp */ case _p_execute: case _p_execute_tail: - OrArgAdjust(pc->u.Osbmp.or_arg); - pc->u.Osbmp.s = ConstantAdjust(pc->u.Osbmp.s); - pc->u.Osbmp.bmap = CellPtoHeapAdjust(pc->u.Osbmp.bmap); - pc->u.Osbmp.mod = ModuleAdjust(pc->u.Osbmp.mod); - pc->u.Osbmp.p0 = PtoPredAdjust(pc->u.Osbmp.p0); + OrArgAdjust(pc->y_u.Osbmp.or_arg); + pc->y_u.Osbmp.s = ConstantAdjust(pc->y_u.Osbmp.s); + pc->y_u.Osbmp.bmap = CellPtoHeapAdjust(pc->y_u.Osbmp.bmap); + pc->y_u.Osbmp.mod = ModuleAdjust(pc->y_u.Osbmp.mod); + pc->y_u.Osbmp.p0 = PtoPredAdjust(pc->y_u.Osbmp.p0); pc = NEXTOP(pc,Osbmp); break; /* instructions type Osbpa */ case _ensure_space: - OrArgAdjust(pc->u.Osbpa.or_arg); - pc->u.Osbpa.s = ConstantAdjust(pc->u.Osbpa.s); - pc->u.Osbpa.bmap = CellPtoHeapAdjust(pc->u.Osbpa.bmap); - pc->u.Osbpa.p = PtoPredAdjust(pc->u.Osbpa.p); - pc->u.Osbpa.i = ArityAdjust(pc->u.Osbpa.i); + OrArgAdjust(pc->y_u.Osbpa.or_arg); + pc->y_u.Osbpa.s = ConstantAdjust(pc->y_u.Osbpa.s); + pc->y_u.Osbpa.bmap = CellPtoHeapAdjust(pc->y_u.Osbpa.bmap); + pc->y_u.Osbpa.p = PtoPredAdjust(pc->y_u.Osbpa.p); + pc->y_u.Osbpa.i = ArityAdjust(pc->y_u.Osbpa.i); pc = NEXTOP(pc,Osbpa); break; /* instructions type Osbpp */ @@ -76,22 +76,22 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _call_usercpred: case _fcall: case _p_execute2: - OrArgAdjust(pc->u.Osbpp.or_arg); - pc->u.Osbpp.s = ConstantAdjust(pc->u.Osbpp.s); - pc->u.Osbpp.bmap = CellPtoHeapAdjust(pc->u.Osbpp.bmap); - pc->u.Osbpp.p = PtoPredAdjust(pc->u.Osbpp.p); - pc->u.Osbpp.p0 = PtoPredAdjust(pc->u.Osbpp.p0); + OrArgAdjust(pc->y_u.Osbpp.or_arg); + pc->y_u.Osbpp.s = ConstantAdjust(pc->y_u.Osbpp.s); + pc->y_u.Osbpp.bmap = CellPtoHeapAdjust(pc->y_u.Osbpp.bmap); + pc->y_u.Osbpp.p = PtoPredAdjust(pc->y_u.Osbpp.p); + pc->y_u.Osbpp.p0 = PtoPredAdjust(pc->y_u.Osbpp.p0); pc = NEXTOP(pc,Osbpp); break; /* instructions type OtILl */ case _count_trust_logical: case _profiled_trust_logical: case _trust_logical: - OrArgAdjust(pc->u.OtILl.or_arg); - TabEntryAdjust(pc->u.OtILl.te); - pc->u.OtILl.block = PtoLUIndexAdjust(pc->u.OtILl.block); - pc->u.OtILl.d = PtoLUClauseAdjust(pc->u.OtILl.d); - pc->u.OtILl.n = PtoOpAdjust(pc->u.OtILl.n); + OrArgAdjust(pc->y_u.OtILl.or_arg); + TabEntryAdjust(pc->y_u.OtILl.te); + pc->y_u.OtILl.block = PtoLUIndexAdjust(pc->y_u.OtILl.block); + pc->y_u.OtILl.d = PtoLUClauseAdjust(pc->y_u.OtILl.d); + pc->y_u.OtILl.n = PtoOpAdjust(pc->y_u.OtILl.n); pc = opc; break; /* instructions type OtaLl */ @@ -99,12 +99,12 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _profiled_retry_logical: case _retry_logical: case _try_logical: - OrArgAdjust(pc->u.OtaLl.or_arg); - TabEntryAdjust(pc->u.OtaLl.te); - pc->u.OtaLl.s = ArityAdjust(pc->u.OtaLl.s); - pc->u.OtaLl.d = PtoLUClauseAdjust(pc->u.OtaLl.d); - pc->u.OtaLl.n = PtoOpAdjust(pc->u.OtaLl.n); - pc = pc->u.OtaLl.n; + OrArgAdjust(pc->y_u.OtaLl.or_arg); + TabEntryAdjust(pc->y_u.OtaLl.te); + pc->y_u.OtaLl.s = ArityAdjust(pc->y_u.OtaLl.s); + pc->y_u.OtaLl.d = PtoLUClauseAdjust(pc->y_u.OtaLl.d); + pc->y_u.OtaLl.n = PtoOpAdjust(pc->y_u.OtaLl.n); + pc = pc->y_u.OtaLl.n; break; /* instructions type OtapFs */ case _cut_c: @@ -113,12 +113,12 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _retry_userc: case _try_c: case _try_userc: - OrArgAdjust(pc->u.OtapFs.or_arg); - TabEntryAdjust(pc->u.OtapFs.te); - pc->u.OtapFs.s = ArityAdjust(pc->u.OtapFs.s); - pc->u.OtapFs.p = PtoPredAdjust(pc->u.OtapFs.p); - pc->u.OtapFs.f = ExternalFunctionAdjust(pc->u.OtapFs.f); - pc->u.OtapFs.extra = ConstantAdjust(pc->u.OtapFs.extra); + OrArgAdjust(pc->y_u.OtapFs.or_arg); + TabEntryAdjust(pc->y_u.OtapFs.te); + pc->y_u.OtapFs.s = ArityAdjust(pc->y_u.OtapFs.s); + pc->y_u.OtapFs.p = PtoPredAdjust(pc->y_u.OtapFs.p); + pc->y_u.OtapFs.f = ExternalFunctionAdjust(pc->y_u.OtapFs.f); + pc->y_u.OtapFs.extra = ConstantAdjust(pc->y_u.OtapFs.extra); pc = NEXTOP(pc,OtapFs); break; /* instructions type Otapl */ @@ -137,77 +137,77 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _try_and_mark: case _try_clause: case _try_me: - OrArgAdjust(pc->u.Otapl.or_arg); - TabEntryAdjust(pc->u.Otapl.te); - pc->u.Otapl.s = ArityAdjust(pc->u.Otapl.s); - pc->u.Otapl.p = PtoPredAdjust(pc->u.Otapl.p); - pc->u.Otapl.d = PtoOpAdjust(pc->u.Otapl.d); + OrArgAdjust(pc->y_u.Otapl.or_arg); + TabEntryAdjust(pc->y_u.Otapl.te); + pc->y_u.Otapl.s = ArityAdjust(pc->y_u.Otapl.s); + pc->y_u.Otapl.p = PtoPredAdjust(pc->y_u.Otapl.p); + pc->y_u.Otapl.d = PtoOpAdjust(pc->y_u.Otapl.d); pc = NEXTOP(pc,Otapl); break; /* instructions type aFlp */ case _native_me: - pc->u.aFlp.n = ArityAdjust(pc->u.aFlp.n); - pc->u.aFlp.native = ExternalFunctionAdjust(pc->u.aFlp.native); - pc->u.aFlp.native_next = PtoOpAdjust(pc->u.aFlp.native_next); - pc->u.aFlp.p = PtoPredAdjust(pc->u.aFlp.p); + pc->y_u.aFlp.n = ArityAdjust(pc->y_u.aFlp.n); + pc->y_u.aFlp.native = ExternalFunctionAdjust(pc->y_u.aFlp.native); + pc->y_u.aFlp.native_next = PtoOpAdjust(pc->y_u.aFlp.native_next); + pc->y_u.aFlp.p = PtoPredAdjust(pc->y_u.aFlp.p); pc = NEXTOP(pc,aFlp); break; /* instructions type c */ case _write_atom: - pc->u.c.c = ConstantTermAdjust(pc->u.c.c); + pc->y_u.c.c = ConstantTermAdjust(pc->y_u.c.c); pc = NEXTOP(pc,c); break; /* instructions type cc */ case _get_2atoms: - pc->u.cc.c1 = ConstantTermAdjust(pc->u.cc.c1); - pc->u.cc.c2 = ConstantTermAdjust(pc->u.cc.c2); + pc->y_u.cc.c1 = ConstantTermAdjust(pc->y_u.cc.c1); + pc->y_u.cc.c2 = ConstantTermAdjust(pc->y_u.cc.c2); pc = NEXTOP(pc,cc); break; /* instructions type ccc */ case _get_3atoms: - pc->u.ccc.c1 = ConstantTermAdjust(pc->u.ccc.c1); - pc->u.ccc.c2 = ConstantTermAdjust(pc->u.ccc.c2); - pc->u.ccc.c3 = ConstantTermAdjust(pc->u.ccc.c3); + pc->y_u.ccc.c1 = ConstantTermAdjust(pc->y_u.ccc.c1); + pc->y_u.ccc.c2 = ConstantTermAdjust(pc->y_u.ccc.c2); + pc->y_u.ccc.c3 = ConstantTermAdjust(pc->y_u.ccc.c3); pc = NEXTOP(pc,ccc); break; /* instructions type cccc */ case _get_4atoms: - pc->u.cccc.c1 = ConstantTermAdjust(pc->u.cccc.c1); - pc->u.cccc.c2 = ConstantTermAdjust(pc->u.cccc.c2); - pc->u.cccc.c3 = ConstantTermAdjust(pc->u.cccc.c3); - pc->u.cccc.c4 = ConstantTermAdjust(pc->u.cccc.c4); + pc->y_u.cccc.c1 = ConstantTermAdjust(pc->y_u.cccc.c1); + pc->y_u.cccc.c2 = ConstantTermAdjust(pc->y_u.cccc.c2); + pc->y_u.cccc.c3 = ConstantTermAdjust(pc->y_u.cccc.c3); + pc->y_u.cccc.c4 = ConstantTermAdjust(pc->y_u.cccc.c4); pc = NEXTOP(pc,cccc); break; /* instructions type ccccc */ case _get_5atoms: - pc->u.ccccc.c1 = ConstantTermAdjust(pc->u.ccccc.c1); - pc->u.ccccc.c2 = ConstantTermAdjust(pc->u.ccccc.c2); - pc->u.ccccc.c3 = ConstantTermAdjust(pc->u.ccccc.c3); - pc->u.ccccc.c4 = ConstantTermAdjust(pc->u.ccccc.c4); - pc->u.ccccc.c5 = ConstantTermAdjust(pc->u.ccccc.c5); + pc->y_u.ccccc.c1 = ConstantTermAdjust(pc->y_u.ccccc.c1); + pc->y_u.ccccc.c2 = ConstantTermAdjust(pc->y_u.ccccc.c2); + pc->y_u.ccccc.c3 = ConstantTermAdjust(pc->y_u.ccccc.c3); + pc->y_u.ccccc.c4 = ConstantTermAdjust(pc->y_u.ccccc.c4); + pc->y_u.ccccc.c5 = ConstantTermAdjust(pc->y_u.ccccc.c5); pc = NEXTOP(pc,ccccc); break; /* instructions type cccccc */ case _get_6atoms: - pc->u.cccccc.c1 = ConstantTermAdjust(pc->u.cccccc.c1); - pc->u.cccccc.c2 = ConstantTermAdjust(pc->u.cccccc.c2); - pc->u.cccccc.c3 = ConstantTermAdjust(pc->u.cccccc.c3); - pc->u.cccccc.c4 = ConstantTermAdjust(pc->u.cccccc.c4); - pc->u.cccccc.c5 = ConstantTermAdjust(pc->u.cccccc.c5); - pc->u.cccccc.c6 = ConstantTermAdjust(pc->u.cccccc.c6); + pc->y_u.cccccc.c1 = ConstantTermAdjust(pc->y_u.cccccc.c1); + pc->y_u.cccccc.c2 = ConstantTermAdjust(pc->y_u.cccccc.c2); + pc->y_u.cccccc.c3 = ConstantTermAdjust(pc->y_u.cccccc.c3); + pc->y_u.cccccc.c4 = ConstantTermAdjust(pc->y_u.cccccc.c4); + pc->y_u.cccccc.c5 = ConstantTermAdjust(pc->y_u.cccccc.c5); + pc->y_u.cccccc.c6 = ConstantTermAdjust(pc->y_u.cccccc.c6); pc = NEXTOP(pc,cccccc); break; /* instructions type clll */ case _if_not_then: - pc->u.clll.c = ConstantTermAdjust(pc->u.clll.c); - pc->u.clll.l1 = PtoOpAdjust(pc->u.clll.l1); - pc->u.clll.l2 = PtoOpAdjust(pc->u.clll.l2); - pc->u.clll.l3 = PtoOpAdjust(pc->u.clll.l3); + pc->y_u.clll.c = ConstantTermAdjust(pc->y_u.clll.c); + pc->y_u.clll.l1 = PtoOpAdjust(pc->y_u.clll.l1); + pc->y_u.clll.l2 = PtoOpAdjust(pc->y_u.clll.l2); + pc->y_u.clll.l3 = PtoOpAdjust(pc->y_u.clll.l3); pc = NEXTOP(pc,clll); break; /* instructions type d */ case _write_float: - DoubleInCodeAdjust(pc->u.d.d); + DoubleInCodeAdjust(pc->y_u.d.d); pc = NEXTOP(pc,d); break; /* instructions type e */ @@ -245,13 +245,13 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) /* instructions type fa */ case _write_l_struc: case _write_struct: - pc->u.fa.f = FuncAdjust(pc->u.fa.f); - pc->u.fa.a = ArityAdjust(pc->u.fa.a); + pc->y_u.fa.f = FuncAdjust(pc->y_u.fa.f); + pc->y_u.fa.a = ArityAdjust(pc->y_u.fa.a); pc = NEXTOP(pc,fa); break; /* instructions type i */ case _write_longint: - IntegerInCodeAdjust(pc->u.i.i); + IntegerInCodeAdjust(pc->y_u.i.i); pc = NEXTOP(pc,i); break; /* instructions type l */ @@ -269,16 +269,16 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _try_clause3: case _try_clause4: case _try_in: - pc->u.l.l = PtoOpAdjust(pc->u.l.l); + pc->y_u.l.l = PtoOpAdjust(pc->y_u.l.l); if (op == _Ystop) return; pc = NEXTOP(pc,l); break; /* instructions type llll */ case _switch_on_type: - pc->u.llll.l1 = PtoOpAdjust(pc->u.llll.l1); - pc->u.llll.l2 = PtoOpAdjust(pc->u.llll.l2); - pc->u.llll.l3 = PtoOpAdjust(pc->u.llll.l3); - pc->u.llll.l4 = PtoOpAdjust(pc->u.llll.l4); + pc->y_u.llll.l1 = PtoOpAdjust(pc->y_u.llll.l1); + pc->y_u.llll.l2 = PtoOpAdjust(pc->y_u.llll.l2); + pc->y_u.llll.l3 = PtoOpAdjust(pc->y_u.llll.l3); + pc->y_u.llll.l4 = PtoOpAdjust(pc->y_u.llll.l4); pc = NEXTOP(pc,llll); break; /* instructions type lp */ @@ -289,8 +289,8 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _try_exo: case _try_exo_udi: case _user_switch: - pc->u.lp.l = PtoOpAdjust(pc->u.lp.l); - pc->u.lp.p = PtoPredAdjust(pc->u.lp.p); + pc->y_u.lp.l = PtoOpAdjust(pc->y_u.lp.l); + pc->y_u.lp.p = PtoPredAdjust(pc->y_u.lp.p); pc = NEXTOP(pc,lp); break; /* instructions type o */ @@ -302,21 +302,21 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _unify_list_write: case _unify_void: case _unify_void_write: - pc->u.o.opcw = OpcodeAdjust(pc->u.o.opcw); + pc->y_u.o.opcw = OpcodeAdjust(pc->y_u.o.opcw); pc = NEXTOP(pc,o); break; /* instructions type oD */ case _unify_dbterm: case _unify_l_dbterm: - pc->u.oD.opcw = OpcodeAdjust(pc->u.oD.opcw); - pc->u.oD.D = DBGroundTermAdjust(pc->u.oD.D); + pc->y_u.oD.opcw = OpcodeAdjust(pc->y_u.oD.opcw); + pc->y_u.oD.D = DBGroundTermAdjust(pc->y_u.oD.D); pc = NEXTOP(pc,oD); break; /* instructions type oN */ case _unify_bigint: case _unify_l_bigint: - pc->u.oN.opcw = OpcodeAdjust(pc->u.oN.opcw); - pc->u.oN.b = BlobTermInCodeAdjust(pc->u.oN.b); + pc->y_u.oN.opcw = OpcodeAdjust(pc->y_u.oN.opcw); + pc->y_u.oN.b = BlobTermInCodeAdjust(pc->y_u.oN.b); pc = NEXTOP(pc,oN); break; /* instructions type oc */ @@ -324,8 +324,8 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _unify_atom_write: case _unify_l_atom: case _unify_l_atom_write: - pc->u.oc.opcw = OpcodeAdjust(pc->u.oc.opcw); - pc->u.oc.c = ConstantTermAdjust(pc->u.oc.c); + pc->y_u.oc.opcw = OpcodeAdjust(pc->y_u.oc.opcw); + pc->y_u.oc.c = ConstantTermAdjust(pc->y_u.oc.c); pc = NEXTOP(pc,oc); break; /* instructions type od */ @@ -333,8 +333,8 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _unify_float_write: case _unify_l_float: case _unify_l_float_write: - pc->u.od.opcw = OpcodeAdjust(pc->u.od.opcw); - DoubleInCodeAdjust(pc->u.od.d); + pc->y_u.od.opcw = OpcodeAdjust(pc->y_u.od.opcw); + DoubleInCodeAdjust(pc->y_u.od.d); pc = NEXTOP(pc,od); break; /* instructions type ofa */ @@ -342,9 +342,9 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _unify_l_struc_write: case _unify_struct: case _unify_struct_write: - pc->u.ofa.opcw = OpcodeAdjust(pc->u.ofa.opcw); - pc->u.ofa.f = FuncAdjust(pc->u.ofa.f); - pc->u.ofa.a = ArityAdjust(pc->u.ofa.a); + pc->y_u.ofa.opcw = OpcodeAdjust(pc->y_u.ofa.opcw); + pc->y_u.ofa.f = FuncAdjust(pc->y_u.ofa.f); + pc->y_u.ofa.a = ArityAdjust(pc->y_u.ofa.a); pc = NEXTOP(pc,ofa); break; /* instructions type oi */ @@ -352,17 +352,17 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _unify_l_longint_write: case _unify_longint: case _unify_longint_write: - pc->u.oi.opcw = OpcodeAdjust(pc->u.oi.opcw); - IntegerInCodeAdjust(pc->u.oi.i); + pc->y_u.oi.opcw = OpcodeAdjust(pc->y_u.oi.opcw); + IntegerInCodeAdjust(pc->y_u.oi.i); pc = NEXTOP(pc,oi); break; /* instructions type ollll */ case _switch_list_nl: - pc->u.ollll.pop = OpcodeAdjust(pc->u.ollll.pop); - pc->u.ollll.l1 = PtoOpAdjust(pc->u.ollll.l1); - pc->u.ollll.l2 = PtoOpAdjust(pc->u.ollll.l2); - pc->u.ollll.l3 = PtoOpAdjust(pc->u.ollll.l3); - pc->u.ollll.l4 = PtoOpAdjust(pc->u.ollll.l4); + pc->y_u.ollll.pop = OpcodeAdjust(pc->y_u.ollll.pop); + pc->y_u.ollll.l1 = PtoOpAdjust(pc->y_u.ollll.l1); + pc->y_u.ollll.l2 = PtoOpAdjust(pc->y_u.ollll.l2); + pc->y_u.ollll.l3 = PtoOpAdjust(pc->y_u.ollll.l3); + pc->y_u.ollll.l4 = PtoOpAdjust(pc->y_u.ollll.l4); pc = NEXTOP(pc,ollll); break; /* instructions type os */ @@ -373,23 +373,23 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _unify_l_n_voids_write: case _unify_n_voids: case _unify_n_voids_write: - pc->u.os.opcw = OpcodeAdjust(pc->u.os.opcw); - pc->u.os.s = ConstantAdjust(pc->u.os.s); + pc->y_u.os.opcw = OpcodeAdjust(pc->y_u.os.opcw); + pc->y_u.os.s = ConstantAdjust(pc->y_u.os.s); pc = NEXTOP(pc,os); break; /* instructions type osc */ case _unify_n_atoms: case _unify_n_atoms_write: - pc->u.osc.opcw = OpcodeAdjust(pc->u.osc.opcw); - pc->u.osc.s = ConstantAdjust(pc->u.osc.s); - pc->u.osc.c = ConstantTermAdjust(pc->u.osc.c); + pc->y_u.osc.opcw = OpcodeAdjust(pc->y_u.osc.opcw); + pc->y_u.osc.s = ConstantAdjust(pc->y_u.osc.s); + pc->y_u.osc.c = ConstantTermAdjust(pc->y_u.osc.c); pc = NEXTOP(pc,osc); break; /* instructions type ou */ case _unify_l_string: case _unify_string: - pc->u.ou.opcw = OpcodeAdjust(pc->u.ou.opcw); - pc->u.ou.ut = BlobTermInCodeAdjust(pc->u.ou.ut); + pc->y_u.ou.opcw = OpcodeAdjust(pc->y_u.ou.opcw); + pc->y_u.ou.ut = BlobTermInCodeAdjust(pc->y_u.ou.ut); pc = NEXTOP(pc,ou); break; /* instructions type ox */ @@ -409,8 +409,8 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _unify_x_val_write: case _unify_x_var: case _unify_x_var_write: - pc->u.ox.opcw = OpcodeAdjust(pc->u.ox.opcw); - pc->u.ox.x = XAdjust(pc->u.ox.x); + pc->y_u.ox.opcw = OpcodeAdjust(pc->y_u.ox.opcw); + pc->y_u.ox.x = XAdjust(pc->y_u.ox.x); pc = NEXTOP(pc,ox); break; /* instructions type oxx */ @@ -418,9 +418,9 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _unify_l_x_var2_write: case _unify_x_var2: case _unify_x_var2_write: - pc->u.oxx.opcw = OpcodeAdjust(pc->u.oxx.opcw); - pc->u.oxx.xl = XAdjust(pc->u.oxx.xl); - pc->u.oxx.xr = XAdjust(pc->u.oxx.xr); + pc->y_u.oxx.opcw = OpcodeAdjust(pc->y_u.oxx.opcw); + pc->y_u.oxx.xl = XAdjust(pc->y_u.oxx.xl); + pc->y_u.oxx.xr = XAdjust(pc->y_u.oxx.xr); pc = NEXTOP(pc,oxx); break; /* instructions type oy */ @@ -440,8 +440,8 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _unify_y_val_write: case _unify_y_var: case _unify_y_var_write: - pc->u.oy.opcw = OpcodeAdjust(pc->u.oy.opcw); - pc->u.oy.y = YAdjust(pc->u.oy.y); + pc->y_u.oy.opcw = OpcodeAdjust(pc->y_u.oy.opcw); + pc->y_u.oy.y = YAdjust(pc->y_u.oy.y); pc = NEXTOP(pc,oy); break; /* instructions type p */ @@ -454,43 +454,43 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _retry_profiled: case _retry_udi: case _try_udi: - pc->u.p.p = PtoPredAdjust(pc->u.p.p); + pc->y_u.p.p = PtoPredAdjust(pc->y_u.p.p); pc = NEXTOP(pc,p); break; /* instructions type plxxs */ case _call_bfunc_xx: - pc->u.plxxs.p = PtoPredAdjust(pc->u.plxxs.p); - pc->u.plxxs.f = PtoOpAdjust(pc->u.plxxs.f); - pc->u.plxxs.x1 = XAdjust(pc->u.plxxs.x1); - pc->u.plxxs.x2 = XAdjust(pc->u.plxxs.x2); - pc->u.plxxs.flags = ConstantAdjust(pc->u.plxxs.flags); + pc->y_u.plxxs.p = PtoPredAdjust(pc->y_u.plxxs.p); + pc->y_u.plxxs.f = PtoOpAdjust(pc->y_u.plxxs.f); + pc->y_u.plxxs.x1 = XAdjust(pc->y_u.plxxs.x1); + pc->y_u.plxxs.x2 = XAdjust(pc->y_u.plxxs.x2); + pc->y_u.plxxs.flags = ConstantAdjust(pc->y_u.plxxs.flags); pc = NEXTOP(pc,plxxs); break; /* instructions type plxys */ case _call_bfunc_xy: case _call_bfunc_yx: - pc->u.plxys.p = PtoPredAdjust(pc->u.plxys.p); - pc->u.plxys.f = PtoOpAdjust(pc->u.plxys.f); - pc->u.plxys.x = XAdjust(pc->u.plxys.x); - pc->u.plxys.y = YAdjust(pc->u.plxys.y); - pc->u.plxys.flags = ConstantAdjust(pc->u.plxys.flags); + pc->y_u.plxys.p = PtoPredAdjust(pc->y_u.plxys.p); + pc->y_u.plxys.f = PtoOpAdjust(pc->y_u.plxys.f); + pc->y_u.plxys.x = XAdjust(pc->y_u.plxys.x); + pc->y_u.plxys.y = YAdjust(pc->y_u.plxys.y); + pc->y_u.plxys.flags = ConstantAdjust(pc->y_u.plxys.flags); pc = NEXTOP(pc,plxys); break; /* instructions type plyys */ case _call_bfunc_yy: - pc->u.plyys.p = PtoPredAdjust(pc->u.plyys.p); - pc->u.plyys.f = PtoOpAdjust(pc->u.plyys.f); - pc->u.plyys.y1 = YAdjust(pc->u.plyys.y1); - pc->u.plyys.y2 = YAdjust(pc->u.plyys.y2); - pc->u.plyys.flags = ConstantAdjust(pc->u.plyys.flags); + pc->y_u.plyys.p = PtoPredAdjust(pc->y_u.plyys.p); + pc->y_u.plyys.f = PtoOpAdjust(pc->y_u.plyys.f); + pc->y_u.plyys.y1 = YAdjust(pc->y_u.plyys.y1); + pc->y_u.plyys.y2 = YAdjust(pc->y_u.plyys.y2); + pc->y_u.plyys.flags = ConstantAdjust(pc->y_u.plyys.flags); pc = NEXTOP(pc,plyys); break; /* instructions type pp */ case _dexecute: case _execute: case _execute_cpred: - pc->u.pp.p = PtoPredAdjust(pc->u.pp.p); - pc->u.pp.p0 = PtoPredAdjust(pc->u.pp.p0); + pc->y_u.pp.p = PtoPredAdjust(pc->y_u.pp.p); + pc->y_u.pp.p0 = PtoPredAdjust(pc->y_u.pp.p0); pc = NEXTOP(pc,pp); break; /* instructions type s */ @@ -499,29 +499,29 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _cut_t: case _pop_n: case _write_n_voids: - pc->u.s.s = ConstantAdjust(pc->u.s.s); + pc->y_u.s.s = ConstantAdjust(pc->y_u.s.s); pc = NEXTOP(pc,s); break; /* instructions type sc */ case _write_n_atoms: - pc->u.sc.s = ConstantAdjust(pc->u.sc.s); - pc->u.sc.c = ConstantTermAdjust(pc->u.sc.c); + pc->y_u.sc.s = ConstantAdjust(pc->y_u.sc.s); + pc->y_u.sc.c = ConstantTermAdjust(pc->y_u.sc.c); pc = NEXTOP(pc,sc); break; /* instructions type sllll */ case _switch_on_sub_arg_type: - pc->u.sllll.s = ConstantAdjust(pc->u.sllll.s); - pc->u.sllll.l1 = PtoOpAdjust(pc->u.sllll.l1); - pc->u.sllll.l2 = PtoOpAdjust(pc->u.sllll.l2); - pc->u.sllll.l3 = PtoOpAdjust(pc->u.sllll.l3); - pc->u.sllll.l4 = PtoOpAdjust(pc->u.sllll.l4); + pc->y_u.sllll.s = ConstantAdjust(pc->y_u.sllll.s); + pc->y_u.sllll.l1 = PtoOpAdjust(pc->y_u.sllll.l1); + pc->y_u.sllll.l2 = PtoOpAdjust(pc->y_u.sllll.l2); + pc->y_u.sllll.l3 = PtoOpAdjust(pc->y_u.sllll.l3); + pc->y_u.sllll.l4 = PtoOpAdjust(pc->y_u.sllll.l4); pc = NEXTOP(pc,sllll); break; /* instructions type slp */ case _call_c_wfail: - pc->u.slp.s = ConstantAdjust(pc->u.slp.s); - pc->u.slp.l = PtoOpAdjust(pc->u.slp.l); - pc->u.slp.p = PtoPredAdjust(pc->u.slp.p); + pc->y_u.slp.s = ConstantAdjust(pc->y_u.slp.s); + pc->y_u.slp.l = PtoOpAdjust(pc->y_u.slp.l); + pc->y_u.slp.p = PtoPredAdjust(pc->y_u.slp.p); pc = NEXTOP(pc,slp); break; /* instructions type sssl */ @@ -531,21 +531,21 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _if_func: case _switch_on_cons: case _switch_on_func: - pc->u.sssl.s = ConstantAdjust(pc->u.sssl.s); - pc->u.sssl.e = ConstantAdjust(pc->u.sssl.e); - pc->u.sssl.w = ConstantAdjust(pc->u.sssl.w); - pc->u.sssl.l = PtoOpAdjust(pc->u.sssl.l); - AdjustSwitchTable(op, pc->u.sssl.l, pc->u.sssl.s); + pc->y_u.sssl.s = ConstantAdjust(pc->y_u.sssl.s); + pc->y_u.sssl.e = ConstantAdjust(pc->y_u.sssl.e); + pc->y_u.sssl.w = ConstantAdjust(pc->y_u.sssl.w); + pc->y_u.sssl.l = PtoOpAdjust(pc->y_u.sssl.l); + AdjustSwitchTable(op, pc->y_u.sssl.l, pc->y_u.sssl.s); pc = NEXTOP(pc,sssl); break; /* instructions type sssllp */ case _expand_clauses: - pc->u.sssllp.s1 = ConstantAdjust(pc->u.sssllp.s1); - pc->u.sssllp.s2 = ConstantAdjust(pc->u.sssllp.s2); - pc->u.sssllp.s3 = ConstantAdjust(pc->u.sssllp.s3); - pc->u.sssllp.sprev = PtoOpAdjust(pc->u.sssllp.sprev); - pc->u.sssllp.snext = PtoOpAdjust(pc->u.sssllp.snext); - pc->u.sssllp.p = PtoPredAdjust(pc->u.sssllp.p); + pc->y_u.sssllp.s1 = ConstantAdjust(pc->y_u.sssllp.s1); + pc->y_u.sssllp.s2 = ConstantAdjust(pc->y_u.sssllp.s2); + pc->y_u.sssllp.s3 = ConstantAdjust(pc->y_u.sssllp.s3); + pc->y_u.sssllp.sprev = PtoOpAdjust(pc->y_u.sssllp.sprev); + pc->y_u.sssllp.snext = PtoOpAdjust(pc->y_u.sssllp.snext); + pc->y_u.sssllp.p = PtoPredAdjust(pc->y_u.sssllp.p); pc = NEXTOP(pc,sssllp); break; /* instructions type x */ @@ -556,50 +556,50 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _write_x_loc: case _write_x_val: case _write_x_var: - pc->u.x.x = XAdjust(pc->u.x.x); + pc->y_u.x.x = XAdjust(pc->y_u.x.x); pc = NEXTOP(pc,x); break; /* instructions type xD */ case _get_dbterm: case _put_dbterm: - pc->u.xD.x = XAdjust(pc->u.xD.x); - pc->u.xD.D = DBGroundTermAdjust(pc->u.xD.D); + pc->y_u.xD.x = XAdjust(pc->y_u.xD.x); + pc->y_u.xD.D = DBGroundTermAdjust(pc->y_u.xD.D); pc = NEXTOP(pc,xD); break; /* instructions type xN */ case _get_bigint: case _put_bigint: - pc->u.xN.x = XAdjust(pc->u.xN.x); - pc->u.xN.b = BlobTermInCodeAdjust(pc->u.xN.b); + pc->y_u.xN.x = XAdjust(pc->y_u.xN.x); + pc->y_u.xN.b = BlobTermInCodeAdjust(pc->y_u.xN.b); pc = NEXTOP(pc,xN); break; /* instructions type xc */ case _get_atom: case _put_atom: - pc->u.xc.x = XAdjust(pc->u.xc.x); - pc->u.xc.c = ConstantTermAdjust(pc->u.xc.c); + pc->y_u.xc.x = XAdjust(pc->y_u.xc.x); + pc->y_u.xc.c = ConstantTermAdjust(pc->y_u.xc.c); pc = NEXTOP(pc,xc); break; /* instructions type xd */ case _get_float: case _put_float: - pc->u.xd.x = XAdjust(pc->u.xd.x); - DoubleInCodeAdjust(pc->u.xd.d); + pc->y_u.xd.x = XAdjust(pc->y_u.xd.x); + DoubleInCodeAdjust(pc->y_u.xd.d); pc = NEXTOP(pc,xd); break; /* instructions type xfa */ case _get_struct: case _put_struct: - pc->u.xfa.x = XAdjust(pc->u.xfa.x); - pc->u.xfa.f = FuncAdjust(pc->u.xfa.f); - pc->u.xfa.a = ArityAdjust(pc->u.xfa.a); + pc->y_u.xfa.x = XAdjust(pc->y_u.xfa.x); + pc->y_u.xfa.f = FuncAdjust(pc->y_u.xfa.f); + pc->y_u.xfa.a = ArityAdjust(pc->y_u.xfa.a); pc = NEXTOP(pc,xfa); break; /* instructions type xi */ case _get_longint: case _put_longint: - pc->u.xi.x = XAdjust(pc->u.xi.x); - IntegerInCodeAdjust(pc->u.xi.i); + pc->y_u.xi.x = XAdjust(pc->y_u.xi.x); + IntegerInCodeAdjust(pc->y_u.xi.i); pc = NEXTOP(pc,xi); break; /* instructions type xl */ @@ -613,37 +613,37 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _p_number_x: case _p_primitive_x: case _p_var_x: - pc->u.xl.x = XAdjust(pc->u.xl.x); - pc->u.xl.F = PtoOpAdjust(pc->u.xl.F); + pc->y_u.xl.x = XAdjust(pc->y_u.xl.x); + pc->y_u.xl.F = PtoOpAdjust(pc->y_u.xl.F); pc = NEXTOP(pc,xl); break; /* instructions type xll */ case _jump_if_nonvar: - pc->u.xll.x = XAdjust(pc->u.xll.x); - pc->u.xll.l1 = PtoOpAdjust(pc->u.xll.l1); - pc->u.xll.l2 = PtoOpAdjust(pc->u.xll.l2); + pc->y_u.xll.x = XAdjust(pc->y_u.xll.x); + pc->y_u.xll.l1 = PtoOpAdjust(pc->y_u.xll.l1); + pc->y_u.xll.l2 = PtoOpAdjust(pc->y_u.xll.l2); pc = NEXTOP(pc,xll); break; /* instructions type xllll */ case _switch_on_arg_type: - pc->u.xllll.x = XAdjust(pc->u.xllll.x); - pc->u.xllll.l1 = PtoOpAdjust(pc->u.xllll.l1); - pc->u.xllll.l2 = PtoOpAdjust(pc->u.xllll.l2); - pc->u.xllll.l3 = PtoOpAdjust(pc->u.xllll.l3); - pc->u.xllll.l4 = PtoOpAdjust(pc->u.xllll.l4); + pc->y_u.xllll.x = XAdjust(pc->y_u.xllll.x); + pc->y_u.xllll.l1 = PtoOpAdjust(pc->y_u.xllll.l1); + pc->y_u.xllll.l2 = PtoOpAdjust(pc->y_u.xllll.l2); + pc->y_u.xllll.l3 = PtoOpAdjust(pc->y_u.xllll.l3); + pc->y_u.xllll.l4 = PtoOpAdjust(pc->y_u.xllll.l4); pc = NEXTOP(pc,xllll); break; /* instructions type xps */ case _commit_b_x: - pc->u.xps.x = XAdjust(pc->u.xps.x); - pc->u.xps.p0 = PtoPredAdjust(pc->u.xps.p0); - pc->u.xps.s = ConstantAdjust(pc->u.xps.s); + pc->y_u.xps.x = XAdjust(pc->y_u.xps.x); + pc->y_u.xps.p0 = PtoPredAdjust(pc->y_u.xps.p0); + pc->y_u.xps.s = ConstantAdjust(pc->y_u.xps.s); pc = NEXTOP(pc,xps); break; /* instructions type xu */ case _get_string: - pc->u.xu.x = XAdjust(pc->u.xu.x); - pc->u.xu.ut = BlobTermInCodeAdjust(pc->u.xu.ut); + pc->y_u.xu.x = XAdjust(pc->y_u.xu.x); + pc->y_u.xu.ut = BlobTermInCodeAdjust(pc->y_u.xu.ut); pc = NEXTOP(pc,xu); break; /* instructions type xx */ @@ -654,15 +654,15 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _glist_valx: case _put_x_val: case _put_x_var: - pc->u.xx.xl = XAdjust(pc->u.xx.xl); - pc->u.xx.xr = XAdjust(pc->u.xx.xr); + pc->y_u.xx.xl = XAdjust(pc->y_u.xx.xl); + pc->y_u.xx.xr = XAdjust(pc->y_u.xx.xr); pc = NEXTOP(pc,xx); break; /* instructions type xxc */ case _p_func2s_cv: - pc->u.xxc.x = XAdjust(pc->u.xxc.x); - pc->u.xxc.xi = XAdjust(pc->u.xxc.xi); - pc->u.xxc.c = ConstantTermAdjust(pc->u.xxc.c); + pc->y_u.xxc.x = XAdjust(pc->y_u.xxc.x); + pc->y_u.xxc.xi = XAdjust(pc->y_u.xxc.xi); + pc->y_u.xxc.c = ConstantTermAdjust(pc->y_u.xxc.c); pc = NEXTOP(pc,xxc); break; /* instructions type xxn */ @@ -679,9 +679,9 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _p_slr_cv: case _p_slr_vc: case _p_times_vc: - pc->u.xxn.x = XAdjust(pc->u.xxn.x); - pc->u.xxn.xi = XAdjust(pc->u.xxn.xi); - pc->u.xxn.c = IntegerAdjust(pc->u.xxn.c); + pc->y_u.xxn.x = XAdjust(pc->y_u.xxn.x); + pc->y_u.xxn.xi = XAdjust(pc->y_u.xxn.xi); + pc->y_u.xxn.c = IntegerAdjust(pc->y_u.xxn.c); pc = NEXTOP(pc,xxn); break; /* instructions type xxx */ @@ -696,24 +696,24 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _p_sll_vv: case _p_slr_vv: case _p_times_vv: - pc->u.xxx.x = XAdjust(pc->u.xxx.x); - pc->u.xxx.x1 = XAdjust(pc->u.xxx.x1); - pc->u.xxx.x2 = XAdjust(pc->u.xxx.x2); + pc->y_u.xxx.x = XAdjust(pc->y_u.xxx.x); + pc->y_u.xxx.x1 = XAdjust(pc->y_u.xxx.x1); + pc->y_u.xxx.x2 = XAdjust(pc->y_u.xxx.x2); pc = NEXTOP(pc,xxx); break; /* instructions type xxxx */ case _put_xx_val: - pc->u.xxxx.xl1 = XAdjust(pc->u.xxxx.xl1); - pc->u.xxxx.xl2 = XAdjust(pc->u.xxxx.xl2); - pc->u.xxxx.xr1 = XAdjust(pc->u.xxxx.xr1); - pc->u.xxxx.xr2 = XAdjust(pc->u.xxxx.xr2); + pc->y_u.xxxx.xl1 = XAdjust(pc->y_u.xxxx.xl1); + pc->y_u.xxxx.xl2 = XAdjust(pc->y_u.xxxx.xl2); + pc->y_u.xxxx.xr1 = XAdjust(pc->y_u.xxxx.xr1); + pc->y_u.xxxx.xr2 = XAdjust(pc->y_u.xxxx.xr2); pc = NEXTOP(pc,xxxx); break; /* instructions type xxy */ case _p_func2f_xy: - pc->u.xxy.x = XAdjust(pc->u.xxy.x); - pc->u.xxy.x1 = XAdjust(pc->u.xxy.x1); - pc->u.xxy.y2 = YAdjust(pc->u.xxy.y2); + pc->y_u.xxy.x = XAdjust(pc->y_u.xxy.x); + pc->y_u.xxy.x1 = XAdjust(pc->y_u.xxy.x1); + pc->y_u.xxy.y2 = YAdjust(pc->y_u.xxy.y2); pc = NEXTOP(pc,xxy); break; /* instructions type y */ @@ -721,7 +721,7 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _write_y_loc: case _write_y_val: case _write_y_var: - pc->u.y.y = YAdjust(pc->u.y.y); + pc->y_u.y.y = YAdjust(pc->y_u.y.y); pc = NEXTOP(pc,y); break; /* instructions type yl */ @@ -735,15 +735,15 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _p_number_y: case _p_primitive_y: case _p_var_y: - pc->u.yl.y = YAdjust(pc->u.yl.y); - pc->u.yl.F = PtoOpAdjust(pc->u.yl.F); + pc->y_u.yl.y = YAdjust(pc->y_u.yl.y); + pc->y_u.yl.F = PtoOpAdjust(pc->y_u.yl.F); pc = NEXTOP(pc,yl); break; /* instructions type yps */ case _commit_b_y: - pc->u.yps.y = YAdjust(pc->u.yps.y); - pc->u.yps.p0 = PtoPredAdjust(pc->u.yps.p0); - pc->u.yps.s = ConstantAdjust(pc->u.yps.s); + pc->y_u.yps.y = YAdjust(pc->y_u.yps.y); + pc->y_u.yps.p0 = PtoPredAdjust(pc->y_u.yps.p0); + pc->y_u.yps.s = ConstantAdjust(pc->y_u.yps.s); pc = NEXTOP(pc,yps); break; /* instructions type yx */ @@ -755,15 +755,15 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _put_unsafe: case _put_y_val: case _put_y_var: - pc->u.yx.y = YAdjust(pc->u.yx.y); - pc->u.yx.x = XAdjust(pc->u.yx.x); + pc->y_u.yx.y = YAdjust(pc->y_u.yx.y); + pc->y_u.yx.x = XAdjust(pc->y_u.yx.x); pc = NEXTOP(pc,yx); break; /* instructions type yxc */ case _p_func2s_y_cv: - pc->u.yxc.y = YAdjust(pc->u.yxc.y); - pc->u.yxc.xi = XAdjust(pc->u.yxc.xi); - pc->u.yxc.c = ConstantTermAdjust(pc->u.yxc.c); + pc->y_u.yxc.y = YAdjust(pc->y_u.yxc.y); + pc->y_u.yxc.xi = XAdjust(pc->y_u.yxc.xi); + pc->y_u.yxc.c = ConstantTermAdjust(pc->y_u.yxc.c); pc = NEXTOP(pc,yxc); break; /* instructions type yxn */ @@ -780,9 +780,9 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _p_slr_y_cv: case _p_slr_y_vc: case _p_times_y_vc: - pc->u.yxn.y = YAdjust(pc->u.yxn.y); - pc->u.yxn.xi = XAdjust(pc->u.yxn.xi); - pc->u.yxn.c = IntegerAdjust(pc->u.yxn.c); + pc->y_u.yxn.y = YAdjust(pc->y_u.yxn.y); + pc->y_u.yxn.xi = XAdjust(pc->y_u.yxn.xi); + pc->y_u.yxn.c = IntegerAdjust(pc->y_u.yxn.c); pc = NEXTOP(pc,yxn); break; /* instructions type yxx */ @@ -797,25 +797,25 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _p_sll_y_vv: case _p_slr_y_vv: case _p_times_y_vv: - pc->u.yxx.y = YAdjust(pc->u.yxx.y); - pc->u.yxx.x1 = XAdjust(pc->u.yxx.x1); - pc->u.yxx.x2 = XAdjust(pc->u.yxx.x2); + pc->y_u.yxx.y = YAdjust(pc->y_u.yxx.y); + pc->y_u.yxx.x1 = XAdjust(pc->y_u.yxx.x1); + pc->y_u.yxx.x2 = XAdjust(pc->y_u.yxx.x2); pc = NEXTOP(pc,yxx); break; /* instructions type yyx */ case _p_func2f_yy: - pc->u.yyx.y1 = YAdjust(pc->u.yyx.y1); - pc->u.yyx.y2 = YAdjust(pc->u.yyx.y2); - pc->u.yyx.x = XAdjust(pc->u.yyx.x); + pc->y_u.yyx.y1 = YAdjust(pc->y_u.yyx.y1); + pc->y_u.yyx.y2 = YAdjust(pc->y_u.yyx.y2); + pc->y_u.yyx.x = XAdjust(pc->y_u.yyx.x); pc = NEXTOP(pc,yyx); break; /* instructions type yyxx */ case _get_yy_var: case _put_y_vals: - pc->u.yyxx.y1 = YAdjust(pc->u.yyxx.y1); - pc->u.yyxx.y2 = YAdjust(pc->u.yyxx.y2); - pc->u.yyxx.x1 = XAdjust(pc->u.yyxx.x1); - pc->u.yyxx.x2 = XAdjust(pc->u.yyxx.x2); + pc->y_u.yyxx.y1 = YAdjust(pc->y_u.yyxx.y1); + pc->y_u.yyxx.y2 = YAdjust(pc->y_u.yyxx.y2); + pc->y_u.yyxx.x1 = XAdjust(pc->y_u.yyxx.x1); + pc->y_u.yyxx.x2 = XAdjust(pc->y_u.yyxx.x2); pc = NEXTOP(pc,yyxx); break; #ifdef YAPOR @@ -823,11 +823,11 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _getwork: case _getwork_seq: case _sync: - OrArgAdjust(pc->u.Otapl.or_arg); - TabEntryAdjust(pc->u.Otapl.te); - pc->u.Otapl.s = ArityAdjust(pc->u.Otapl.s); - pc->u.Otapl.p = PtoPredAdjust(pc->u.Otapl.p); - pc->u.Otapl.d = PtoOpAdjust(pc->u.Otapl.d); + OrArgAdjust(pc->y_u.Otapl.or_arg); + TabEntryAdjust(pc->y_u.Otapl.te); + pc->y_u.Otapl.s = ArityAdjust(pc->y_u.Otapl.s); + pc->y_u.Otapl.p = PtoPredAdjust(pc->y_u.Otapl.p); + pc->y_u.Otapl.d = PtoOpAdjust(pc->y_u.Otapl.d); pc = NEXTOP(pc,Otapl); break; /* instructions type e */ @@ -852,11 +852,11 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) case _table_try_answer: case _table_try_me: case _table_try_single: - OrArgAdjust(pc->u.Otapl.or_arg); - TabEntryAdjust(pc->u.Otapl.te); - pc->u.Otapl.s = ArityAdjust(pc->u.Otapl.s); - pc->u.Otapl.p = PtoPredAdjust(pc->u.Otapl.p); - pc->u.Otapl.d = PtoOpAdjust(pc->u.Otapl.d); + OrArgAdjust(pc->y_u.Otapl.or_arg); + TabEntryAdjust(pc->y_u.Otapl.te); + pc->y_u.Otapl.s = ArityAdjust(pc->y_u.Otapl.s); + pc->y_u.Otapl.p = PtoPredAdjust(pc->y_u.Otapl.p); + pc->y_u.Otapl.d = PtoOpAdjust(pc->y_u.Otapl.d); pc = NEXTOP(pc,Otapl); break; /* instructions type e */ @@ -868,7 +868,7 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) break; /* instructions type s */ case _table_new_answer: - pc->u.s.s = ConstantAdjust(pc->u.s.s); + pc->y_u.s.s = ConstantAdjust(pc->y_u.s.s); pc = NEXTOP(pc,s); break; /* instructions type e */ @@ -943,15 +943,15 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) /* this instruction is hardwired */ case _or_last: #ifdef YAPOR - OrArgAdjust(pc->u.Osblp.or_arg); - pc->u.Osblp.s = ConstantAdjust(pc->u.Osblp.s); - pc->u.Osblp.bmap = CellPtoHeapAdjust(pc->u.Osblp.bmap); - pc->u.Osblp.l = PtoOpAdjust(pc->u.Osblp.l); - pc->u.Osblp.p0 = PtoPredAdjust(pc->u.Osblp.p0); + OrArgAdjust(pc->y_u.Osblp.or_arg); + pc->y_u.Osblp.s = ConstantAdjust(pc->y_u.Osblp.s); + pc->y_u.Osblp.bmap = CellPtoHeapAdjust(pc->y_u.Osblp.bmap); + pc->y_u.Osblp.l = PtoOpAdjust(pc->y_u.Osblp.l); + pc->y_u.Osblp.p0 = PtoPredAdjust(pc->y_u.Osblp.p0); pc = NEXTOP(pc,Osblp); break; #else - pc->u.p.p = PtoPredAdjust(pc->u.p.p); + pc->y_u.p.p = PtoPredAdjust(pc->y_u.p.p); pc = NEXTOP(pc,p); break; #endif diff --git a/H/rheap.h b/H/rheap.h index 1451660e5..5689c5f63 100644 --- a/H/rheap.h +++ b/H/rheap.h @@ -294,14 +294,14 @@ do_clean_susp_clauses(yamop *ipc USES_REGS) { yamop **st = (yamop **)NEXTOP(ipc,sssllp); ipc->opc = Yap_opcode(_expand_clauses); - ipc->u.sssllp.p = PtoPredAdjust(ipc->u.sssllp.p); - if (ipc->u.sssllp.sprev) { - ipc->u.sssllp.sprev = PtoOpAdjust(ipc->u.sssllp.sprev); + ipc->y_u.sssllp.p = PtoPredAdjust(ipc->y_u.sssllp.p); + if (ipc->y_u.sssllp.sprev) { + ipc->y_u.sssllp.sprev = PtoOpAdjust(ipc->y_u.sssllp.sprev); } - if (ipc->u.sssllp.snext) { - ipc->u.sssllp.snext = PtoOpAdjust(ipc->u.sssllp.snext); + if (ipc->y_u.sssllp.snext) { + ipc->y_u.sssllp.snext = PtoOpAdjust(ipc->y_u.sssllp.snext); } - for (i = 0; i < ipc->u.sssllp.s1; i++, st++) { + for (i = 0; i < ipc->y_u.sssllp.s1; i++, st++) { if (*st) { *st = PtoOpAdjust(*st); } @@ -766,10 +766,10 @@ RestoreEnvInst(yamop start[2], yamop **instp, op_numbers opc, PredEntry *pred) yamop *ipc = start; ipc->opc = Yap_opcode(_call); - ipc->u.Osbpp.p = pred; - ipc->u.Osbpp.p0 = pred; - ipc->u.Osbpp.bmap = NULL; - ipc->u.Osbpp.s = -Signed(RealEnvSize); + ipc->y_u.Osbpp.p = pred; + ipc->y_u.Osbpp.p0 = pred; + ipc->y_u.Osbpp.bmap = NULL; + ipc->y_u.Osbpp.s = -Signed(RealEnvSize); ipc = NEXTOP(ipc, Osbpp); ipc->opc = Yap_opcode(opc); *instp = ipc; @@ -782,15 +782,15 @@ RestoreOtaplInst__(yamop start[1], OPCODE opc, PredEntry *pe USES_REGS) /* this is a place holder, it should not really be used */ ipc->opc = Yap_opcode(opc); - ipc->u.Otapl.s = 0; - ipc->u.Otapl.p = pe; - if (ipc->u.Otapl.d) - ipc->u.Otapl.d = PtoOpAdjust(ipc->u.Otapl.d); + ipc->y_u.Otapl.s = 0; + ipc->y_u.Otapl.p = pe; + if (ipc->y_u.Otapl.d) + ipc->y_u.Otapl.d = PtoOpAdjust(ipc->y_u.Otapl.d); #ifdef YAPOR INIT_YAMOP_LTT(ipc, 1); #endif /* YAPOR */ #ifdef TABLING - ipc->u.Otapl.te = NULL; + ipc->y_u.Otapl.te = NULL; #endif /* TABLING */ } @@ -818,7 +818,7 @@ RestoreExpandList__( USES_REGS1 ) yamop *ptr = Yap_heap_regs->expand_clauses_first; while (ptr) { do_clean_susp_clauses(ptr PASS_REGS); - ptr = ptr->u.sssllp.snext; + ptr = ptr->y_u.sssllp.snext; } } } diff --git a/H/saveclause.h b/H/saveclause.h index 619062b65..887027402 100644 --- a/H/saveclause.h +++ b/H/saveclause.h @@ -13,61 +13,61 @@ switch (op) { /* instructions type D */ case _write_dbterm: - CHECK(save_DBGroundTerm(stream, pc->u.D.D)); + CHECK(save_DBGroundTerm(stream, pc->y_u.D.D)); pc = NEXTOP(pc,D); break; /* instructions type Illss */ case _enter_lu_pred: - CHECK(save_PtoLUIndex(stream, pc->u.Illss.I)); - CHECK(save_PtoOp(stream, pc->u.Illss.l1)); - CHECK(save_PtoOp(stream, pc->u.Illss.l2)); - CHECK(save_Constant(stream, pc->u.Illss.s)); - CHECK(save_Constant(stream, pc->u.Illss.e)); + CHECK(save_PtoLUIndex(stream, pc->y_u.Illss.I)); + CHECK(save_PtoOp(stream, pc->y_u.Illss.l1)); + CHECK(save_PtoOp(stream, pc->y_u.Illss.l2)); + CHECK(save_Constant(stream, pc->y_u.Illss.s)); + CHECK(save_Constant(stream, pc->y_u.Illss.e)); pc = NEXTOP(pc,Illss); break; /* instructions type L */ case _alloc_for_logical_pred: - CHECK(save_PtoLUClause(stream, pc->u.L.ClBase)); + CHECK(save_PtoLUClause(stream, pc->y_u.L.ClBase)); pc = NEXTOP(pc,L); break; /* instructions type N */ case _write_bigint: - CHECK(save_BlobTermInCode(stream, pc->u.N.b)); + CHECK(save_BlobTermInCode(stream, pc->y_u.N.b)); pc = NEXTOP(pc,N); break; /* instructions type Osblp */ case _either: case _or_else: #ifdef YAPOR - CHECK(save_OrArg(stream, pc->u.Osblp.or_arg)); + CHECK(save_OrArg(stream, pc->y_u.Osblp.or_arg)); #endif - CHECK(save_Constant(stream, pc->u.Osblp.s)); - CHECK(save_CellPtoHeap(stream, pc->u.Osblp.bmap)); - CHECK(save_PtoOp(stream, pc->u.Osblp.l)); - CHECK(save_PtoPred(stream, pc->u.Osblp.p0)); + CHECK(save_Constant(stream, pc->y_u.Osblp.s)); + CHECK(save_CellPtoHeap(stream, pc->y_u.Osblp.bmap)); + CHECK(save_PtoOp(stream, pc->y_u.Osblp.l)); + CHECK(save_PtoPred(stream, pc->y_u.Osblp.p0)); pc = NEXTOP(pc,Osblp); break; /* instructions type Osbmp */ case _p_execute: case _p_execute_tail: #ifdef YAPOR - CHECK(save_OrArg(stream, pc->u.Osbmp.or_arg)); + CHECK(save_OrArg(stream, pc->y_u.Osbmp.or_arg)); #endif - CHECK(save_Constant(stream, pc->u.Osbmp.s)); - CHECK(save_CellPtoHeap(stream, pc->u.Osbmp.bmap)); - CHECK(save_Module(stream, pc->u.Osbmp.mod)); - CHECK(save_PtoPred(stream, pc->u.Osbmp.p0)); + CHECK(save_Constant(stream, pc->y_u.Osbmp.s)); + CHECK(save_CellPtoHeap(stream, pc->y_u.Osbmp.bmap)); + CHECK(save_Module(stream, pc->y_u.Osbmp.mod)); + CHECK(save_PtoPred(stream, pc->y_u.Osbmp.p0)); pc = NEXTOP(pc,Osbmp); break; /* instructions type Osbpa */ case _ensure_space: #ifdef YAPOR - CHECK(save_OrArg(stream, pc->u.Osbpa.or_arg)); + CHECK(save_OrArg(stream, pc->y_u.Osbpa.or_arg)); #endif - CHECK(save_Constant(stream, pc->u.Osbpa.s)); - CHECK(save_CellPtoHeap(stream, pc->u.Osbpa.bmap)); - CHECK(save_PtoPred(stream, pc->u.Osbpa.p)); - CHECK(save_Arity(stream, pc->u.Osbpa.i)); + CHECK(save_Constant(stream, pc->y_u.Osbpa.s)); + CHECK(save_CellPtoHeap(stream, pc->y_u.Osbpa.bmap)); + CHECK(save_PtoPred(stream, pc->y_u.Osbpa.p)); + CHECK(save_Arity(stream, pc->y_u.Osbpa.i)); pc = NEXTOP(pc,Osbpa); break; /* instructions type Osbpp */ @@ -77,12 +77,12 @@ case _fcall: case _p_execute2: #ifdef YAPOR - CHECK(save_OrArg(stream, pc->u.Osbpp.or_arg)); + CHECK(save_OrArg(stream, pc->y_u.Osbpp.or_arg)); #endif - CHECK(save_Constant(stream, pc->u.Osbpp.s)); - CHECK(save_CellPtoHeap(stream, pc->u.Osbpp.bmap)); - CHECK(save_PtoPred(stream, pc->u.Osbpp.p)); - CHECK(save_PtoPred(stream, pc->u.Osbpp.p0)); + CHECK(save_Constant(stream, pc->y_u.Osbpp.s)); + CHECK(save_CellPtoHeap(stream, pc->y_u.Osbpp.bmap)); + CHECK(save_PtoPred(stream, pc->y_u.Osbpp.p)); + CHECK(save_PtoPred(stream, pc->y_u.Osbpp.p0)); pc = NEXTOP(pc,Osbpp); break; /* instructions type OtILl */ @@ -90,14 +90,14 @@ case _profiled_trust_logical: case _trust_logical: #ifdef YAPOR - CHECK(save_OrArg(stream, pc->u.OtILl.or_arg)); + CHECK(save_OrArg(stream, pc->y_u.OtILl.or_arg)); #endif #ifdef TABLING - CHECK(save_TabEntry(stream, pc->u.OtILl.te)); + CHECK(save_TabEntry(stream, pc->y_u.OtILl.te)); #endif - CHECK(save_PtoLUIndex(stream, pc->u.OtILl.block)); - CHECK(save_PtoLUClause(stream, pc->u.OtILl.d)); - CHECK(save_PtoOp(stream, pc->u.OtILl.n)); + CHECK(save_PtoLUIndex(stream, pc->y_u.OtILl.block)); + CHECK(save_PtoLUClause(stream, pc->y_u.OtILl.d)); + CHECK(save_PtoOp(stream, pc->y_u.OtILl.n)); pc = NEXTOP(pc,OtILl); break; /* instructions type OtaLl */ @@ -106,14 +106,14 @@ case _retry_logical: case _try_logical: #ifdef YAPOR - CHECK(save_OrArg(stream, pc->u.OtaLl.or_arg)); + CHECK(save_OrArg(stream, pc->y_u.OtaLl.or_arg)); #endif #ifdef TABLING - CHECK(save_TabEntry(stream, pc->u.OtaLl.te)); + CHECK(save_TabEntry(stream, pc->y_u.OtaLl.te)); #endif - CHECK(save_Arity(stream, pc->u.OtaLl.s)); - CHECK(save_PtoLUClause(stream, pc->u.OtaLl.d)); - CHECK(save_PtoOp(stream, pc->u.OtaLl.n)); + CHECK(save_Arity(stream, pc->y_u.OtaLl.s)); + CHECK(save_PtoLUClause(stream, pc->y_u.OtaLl.d)); + CHECK(save_PtoOp(stream, pc->y_u.OtaLl.n)); pc = NEXTOP(pc,OtaLl); break; /* instructions type OtapFs */ @@ -124,15 +124,15 @@ case _try_c: case _try_userc: #ifdef YAPOR - CHECK(save_OrArg(stream, pc->u.OtapFs.or_arg)); + CHECK(save_OrArg(stream, pc->y_u.OtapFs.or_arg)); #endif #ifdef TABLING - CHECK(save_TabEntry(stream, pc->u.OtapFs.te)); + CHECK(save_TabEntry(stream, pc->y_u.OtapFs.te)); #endif - CHECK(save_Arity(stream, pc->u.OtapFs.s)); - CHECK(save_PtoPred(stream, pc->u.OtapFs.p)); - CHECK(save_ExternalFunction(stream, pc->u.OtapFs.f)); - CHECK(save_Constant(stream, pc->u.OtapFs.extra)); + CHECK(save_Arity(stream, pc->y_u.OtapFs.s)); + CHECK(save_PtoPred(stream, pc->y_u.OtapFs.p)); + CHECK(save_ExternalFunction(stream, pc->y_u.OtapFs.f)); + CHECK(save_Constant(stream, pc->y_u.OtapFs.extra)); pc = NEXTOP(pc,OtapFs); break; /* instructions type Otapl */ @@ -152,80 +152,80 @@ case _try_clause: case _try_me: #ifdef YAPOR - CHECK(save_OrArg(stream, pc->u.Otapl.or_arg)); + CHECK(save_OrArg(stream, pc->y_u.Otapl.or_arg)); #endif #ifdef TABLING - CHECK(save_TabEntry(stream, pc->u.Otapl.te)); + CHECK(save_TabEntry(stream, pc->y_u.Otapl.te)); #endif - CHECK(save_Arity(stream, pc->u.Otapl.s)); - CHECK(save_PtoPred(stream, pc->u.Otapl.p)); - CHECK(save_PtoOp(stream, pc->u.Otapl.d)); + CHECK(save_Arity(stream, pc->y_u.Otapl.s)); + CHECK(save_PtoPred(stream, pc->y_u.Otapl.p)); + CHECK(save_PtoOp(stream, pc->y_u.Otapl.d)); pc = NEXTOP(pc,Otapl); break; /* instructions type aFlp */ case _native_me: - CHECK(save_Arity(stream, pc->u.aFlp.n)); - CHECK(save_ExternalFunction(stream, pc->u.aFlp.native)); - CHECK(save_PtoOp(stream, pc->u.aFlp.native_next)); - CHECK(save_PtoPred(stream, pc->u.aFlp.p)); + CHECK(save_Arity(stream, pc->y_u.aFlp.n)); + CHECK(save_ExternalFunction(stream, pc->y_u.aFlp.native)); + CHECK(save_PtoOp(stream, pc->y_u.aFlp.native_next)); + CHECK(save_PtoPred(stream, pc->y_u.aFlp.p)); pc = NEXTOP(pc,aFlp); break; /* instructions type c */ case _write_atom: - CHECK(save_ConstantTerm(stream, pc->u.c.c)); + CHECK(save_ConstantTerm(stream, pc->y_u.c.c)); pc = NEXTOP(pc,c); break; /* instructions type cc */ case _get_2atoms: - CHECK(save_ConstantTerm(stream, pc->u.cc.c1)); - CHECK(save_ConstantTerm(stream, pc->u.cc.c2)); + CHECK(save_ConstantTerm(stream, pc->y_u.cc.c1)); + CHECK(save_ConstantTerm(stream, pc->y_u.cc.c2)); pc = NEXTOP(pc,cc); break; /* instructions type ccc */ case _get_3atoms: - CHECK(save_ConstantTerm(stream, pc->u.ccc.c1)); - CHECK(save_ConstantTerm(stream, pc->u.ccc.c2)); - CHECK(save_ConstantTerm(stream, pc->u.ccc.c3)); + CHECK(save_ConstantTerm(stream, pc->y_u.ccc.c1)); + CHECK(save_ConstantTerm(stream, pc->y_u.ccc.c2)); + CHECK(save_ConstantTerm(stream, pc->y_u.ccc.c3)); pc = NEXTOP(pc,ccc); break; /* instructions type cccc */ case _get_4atoms: - CHECK(save_ConstantTerm(stream, pc->u.cccc.c1)); - CHECK(save_ConstantTerm(stream, pc->u.cccc.c2)); - CHECK(save_ConstantTerm(stream, pc->u.cccc.c3)); - CHECK(save_ConstantTerm(stream, pc->u.cccc.c4)); + CHECK(save_ConstantTerm(stream, pc->y_u.cccc.c1)); + CHECK(save_ConstantTerm(stream, pc->y_u.cccc.c2)); + CHECK(save_ConstantTerm(stream, pc->y_u.cccc.c3)); + CHECK(save_ConstantTerm(stream, pc->y_u.cccc.c4)); pc = NEXTOP(pc,cccc); break; /* instructions type ccccc */ case _get_5atoms: - CHECK(save_ConstantTerm(stream, pc->u.ccccc.c1)); - CHECK(save_ConstantTerm(stream, pc->u.ccccc.c2)); - CHECK(save_ConstantTerm(stream, pc->u.ccccc.c3)); - CHECK(save_ConstantTerm(stream, pc->u.ccccc.c4)); - CHECK(save_ConstantTerm(stream, pc->u.ccccc.c5)); + CHECK(save_ConstantTerm(stream, pc->y_u.ccccc.c1)); + CHECK(save_ConstantTerm(stream, pc->y_u.ccccc.c2)); + CHECK(save_ConstantTerm(stream, pc->y_u.ccccc.c3)); + CHECK(save_ConstantTerm(stream, pc->y_u.ccccc.c4)); + CHECK(save_ConstantTerm(stream, pc->y_u.ccccc.c5)); pc = NEXTOP(pc,ccccc); break; /* instructions type cccccc */ case _get_6atoms: - CHECK(save_ConstantTerm(stream, pc->u.cccccc.c1)); - CHECK(save_ConstantTerm(stream, pc->u.cccccc.c2)); - CHECK(save_ConstantTerm(stream, pc->u.cccccc.c3)); - CHECK(save_ConstantTerm(stream, pc->u.cccccc.c4)); - CHECK(save_ConstantTerm(stream, pc->u.cccccc.c5)); - CHECK(save_ConstantTerm(stream, pc->u.cccccc.c6)); + CHECK(save_ConstantTerm(stream, pc->y_u.cccccc.c1)); + CHECK(save_ConstantTerm(stream, pc->y_u.cccccc.c2)); + CHECK(save_ConstantTerm(stream, pc->y_u.cccccc.c3)); + CHECK(save_ConstantTerm(stream, pc->y_u.cccccc.c4)); + CHECK(save_ConstantTerm(stream, pc->y_u.cccccc.c5)); + CHECK(save_ConstantTerm(stream, pc->y_u.cccccc.c6)); pc = NEXTOP(pc,cccccc); break; /* instructions type clll */ case _if_not_then: - CHECK(save_ConstantTerm(stream, pc->u.clll.c)); - CHECK(save_PtoOp(stream, pc->u.clll.l1)); - CHECK(save_PtoOp(stream, pc->u.clll.l2)); - CHECK(save_PtoOp(stream, pc->u.clll.l3)); + CHECK(save_ConstantTerm(stream, pc->y_u.clll.c)); + CHECK(save_PtoOp(stream, pc->y_u.clll.l1)); + CHECK(save_PtoOp(stream, pc->y_u.clll.l2)); + CHECK(save_PtoOp(stream, pc->y_u.clll.l3)); pc = NEXTOP(pc,clll); break; /* instructions type d */ case _write_float: - CHECK(save_DoubleInCode(stream, pc->u.d.d)); + CHECK(save_DoubleInCode(stream, pc->y_u.d.d)); pc = NEXTOP(pc,d); break; /* instructions type e */ @@ -263,13 +263,13 @@ /* instructions type fa */ case _write_l_struc: case _write_struct: - CHECK(save_Func(stream, pc->u.fa.f)); - CHECK(save_Arity(stream, pc->u.fa.a)); + CHECK(save_Func(stream, pc->y_u.fa.f)); + CHECK(save_Arity(stream, pc->y_u.fa.a)); pc = NEXTOP(pc,fa); break; /* instructions type i */ case _write_longint: - CHECK(save_IntegerInCode(stream, pc->u.i.i)); + CHECK(save_IntegerInCode(stream, pc->y_u.i.i)); pc = NEXTOP(pc,i); break; /* instructions type l */ @@ -287,15 +287,15 @@ case _try_clause3: case _try_clause4: case _try_in: - CHECK(save_PtoOp(stream, pc->u.l.l)); + CHECK(save_PtoOp(stream, pc->y_u.l.l)); pc = NEXTOP(pc,l); break; /* instructions type llll */ case _switch_on_type: - CHECK(save_PtoOp(stream, pc->u.llll.l1)); - CHECK(save_PtoOp(stream, pc->u.llll.l2)); - CHECK(save_PtoOp(stream, pc->u.llll.l3)); - CHECK(save_PtoOp(stream, pc->u.llll.l4)); + CHECK(save_PtoOp(stream, pc->y_u.llll.l1)); + CHECK(save_PtoOp(stream, pc->y_u.llll.l2)); + CHECK(save_PtoOp(stream, pc->y_u.llll.l3)); + CHECK(save_PtoOp(stream, pc->y_u.llll.l4)); pc = NEXTOP(pc,llll); break; /* instructions type lp */ @@ -306,8 +306,8 @@ case _try_exo: case _try_exo_udi: case _user_switch: - CHECK(save_PtoOp(stream, pc->u.lp.l)); - CHECK(save_PtoPred(stream, pc->u.lp.p)); + CHECK(save_PtoOp(stream, pc->y_u.lp.l)); + CHECK(save_PtoPred(stream, pc->y_u.lp.p)); pc = NEXTOP(pc,lp); break; /* instructions type o */ @@ -319,21 +319,21 @@ case _unify_list_write: case _unify_void: case _unify_void_write: - CHECK(save_Opcode(stream, pc->u.o.opcw)); + CHECK(save_Opcode(stream, pc->y_u.o.opcw)); pc = NEXTOP(pc,o); break; /* instructions type oD */ case _unify_dbterm: case _unify_l_dbterm: - CHECK(save_Opcode(stream, pc->u.oD.opcw)); - CHECK(save_DBGroundTerm(stream, pc->u.oD.D)); + CHECK(save_Opcode(stream, pc->y_u.oD.opcw)); + CHECK(save_DBGroundTerm(stream, pc->y_u.oD.D)); pc = NEXTOP(pc,oD); break; /* instructions type oN */ case _unify_bigint: case _unify_l_bigint: - CHECK(save_Opcode(stream, pc->u.oN.opcw)); - CHECK(save_BlobTermInCode(stream, pc->u.oN.b)); + CHECK(save_Opcode(stream, pc->y_u.oN.opcw)); + CHECK(save_BlobTermInCode(stream, pc->y_u.oN.b)); pc = NEXTOP(pc,oN); break; /* instructions type oc */ @@ -341,8 +341,8 @@ case _unify_atom_write: case _unify_l_atom: case _unify_l_atom_write: - CHECK(save_Opcode(stream, pc->u.oc.opcw)); - CHECK(save_ConstantTerm(stream, pc->u.oc.c)); + CHECK(save_Opcode(stream, pc->y_u.oc.opcw)); + CHECK(save_ConstantTerm(stream, pc->y_u.oc.c)); pc = NEXTOP(pc,oc); break; /* instructions type od */ @@ -350,8 +350,8 @@ case _unify_float_write: case _unify_l_float: case _unify_l_float_write: - CHECK(save_Opcode(stream, pc->u.od.opcw)); - CHECK(save_DoubleInCode(stream, pc->u.od.d)); + CHECK(save_Opcode(stream, pc->y_u.od.opcw)); + CHECK(save_DoubleInCode(stream, pc->y_u.od.d)); pc = NEXTOP(pc,od); break; /* instructions type ofa */ @@ -359,9 +359,9 @@ case _unify_l_struc_write: case _unify_struct: case _unify_struct_write: - CHECK(save_Opcode(stream, pc->u.ofa.opcw)); - CHECK(save_Func(stream, pc->u.ofa.f)); - CHECK(save_Arity(stream, pc->u.ofa.a)); + CHECK(save_Opcode(stream, pc->y_u.ofa.opcw)); + CHECK(save_Func(stream, pc->y_u.ofa.f)); + CHECK(save_Arity(stream, pc->y_u.ofa.a)); pc = NEXTOP(pc,ofa); break; /* instructions type oi */ @@ -369,17 +369,17 @@ case _unify_l_longint_write: case _unify_longint: case _unify_longint_write: - CHECK(save_Opcode(stream, pc->u.oi.opcw)); - CHECK(save_IntegerInCode(stream, pc->u.oi.i)); + CHECK(save_Opcode(stream, pc->y_u.oi.opcw)); + CHECK(save_IntegerInCode(stream, pc->y_u.oi.i)); pc = NEXTOP(pc,oi); break; /* instructions type ollll */ case _switch_list_nl: - CHECK(save_Opcode(stream, pc->u.ollll.pop)); - CHECK(save_PtoOp(stream, pc->u.ollll.l1)); - CHECK(save_PtoOp(stream, pc->u.ollll.l2)); - CHECK(save_PtoOp(stream, pc->u.ollll.l3)); - CHECK(save_PtoOp(stream, pc->u.ollll.l4)); + CHECK(save_Opcode(stream, pc->y_u.ollll.pop)); + CHECK(save_PtoOp(stream, pc->y_u.ollll.l1)); + CHECK(save_PtoOp(stream, pc->y_u.ollll.l2)); + CHECK(save_PtoOp(stream, pc->y_u.ollll.l3)); + CHECK(save_PtoOp(stream, pc->y_u.ollll.l4)); pc = NEXTOP(pc,ollll); break; /* instructions type os */ @@ -390,23 +390,23 @@ case _unify_l_n_voids_write: case _unify_n_voids: case _unify_n_voids_write: - CHECK(save_Opcode(stream, pc->u.os.opcw)); - CHECK(save_Constant(stream, pc->u.os.s)); + CHECK(save_Opcode(stream, pc->y_u.os.opcw)); + CHECK(save_Constant(stream, pc->y_u.os.s)); pc = NEXTOP(pc,os); break; /* instructions type osc */ case _unify_n_atoms: case _unify_n_atoms_write: - CHECK(save_Opcode(stream, pc->u.osc.opcw)); - CHECK(save_Constant(stream, pc->u.osc.s)); - CHECK(save_ConstantTerm(stream, pc->u.osc.c)); + CHECK(save_Opcode(stream, pc->y_u.osc.opcw)); + CHECK(save_Constant(stream, pc->y_u.osc.s)); + CHECK(save_ConstantTerm(stream, pc->y_u.osc.c)); pc = NEXTOP(pc,osc); break; /* instructions type ou */ case _unify_l_string: case _unify_string: - CHECK(save_Opcode(stream, pc->u.ou.opcw)); - CHECK(save_BlobTermInCode(stream, pc->u.ou.ut)); + CHECK(save_Opcode(stream, pc->y_u.ou.opcw)); + CHECK(save_BlobTermInCode(stream, pc->y_u.ou.ut)); pc = NEXTOP(pc,ou); break; /* instructions type ox */ @@ -426,8 +426,8 @@ case _unify_x_val_write: case _unify_x_var: case _unify_x_var_write: - CHECK(save_Opcode(stream, pc->u.ox.opcw)); - CHECK(save_X(stream, pc->u.ox.x)); + CHECK(save_Opcode(stream, pc->y_u.ox.opcw)); + CHECK(save_X(stream, pc->y_u.ox.x)); pc = NEXTOP(pc,ox); break; /* instructions type oxx */ @@ -435,9 +435,9 @@ case _unify_l_x_var2_write: case _unify_x_var2: case _unify_x_var2_write: - CHECK(save_Opcode(stream, pc->u.oxx.opcw)); - CHECK(save_X(stream, pc->u.oxx.xl)); - CHECK(save_X(stream, pc->u.oxx.xr)); + CHECK(save_Opcode(stream, pc->y_u.oxx.opcw)); + CHECK(save_X(stream, pc->y_u.oxx.xl)); + CHECK(save_X(stream, pc->y_u.oxx.xr)); pc = NEXTOP(pc,oxx); break; /* instructions type oy */ @@ -457,8 +457,8 @@ case _unify_y_val_write: case _unify_y_var: case _unify_y_var_write: - CHECK(save_Opcode(stream, pc->u.oy.opcw)); - CHECK(save_Y(stream, pc->u.oy.y)); + CHECK(save_Opcode(stream, pc->y_u.oy.opcw)); + CHECK(save_Y(stream, pc->y_u.oy.y)); pc = NEXTOP(pc,oy); break; /* instructions type p */ @@ -471,43 +471,43 @@ case _retry_profiled: case _retry_udi: case _try_udi: - CHECK(save_PtoPred(stream, pc->u.p.p)); + CHECK(save_PtoPred(stream, pc->y_u.p.p)); pc = NEXTOP(pc,p); break; /* instructions type plxxs */ case _call_bfunc_xx: - CHECK(save_PtoPred(stream, pc->u.plxxs.p)); - CHECK(save_PtoOp(stream, pc->u.plxxs.f)); - CHECK(save_X(stream, pc->u.plxxs.x1)); - CHECK(save_X(stream, pc->u.plxxs.x2)); - CHECK(save_Constant(stream, pc->u.plxxs.flags)); + CHECK(save_PtoPred(stream, pc->y_u.plxxs.p)); + CHECK(save_PtoOp(stream, pc->y_u.plxxs.f)); + CHECK(save_X(stream, pc->y_u.plxxs.x1)); + CHECK(save_X(stream, pc->y_u.plxxs.x2)); + CHECK(save_Constant(stream, pc->y_u.plxxs.flags)); pc = NEXTOP(pc,plxxs); break; /* instructions type plxys */ case _call_bfunc_xy: case _call_bfunc_yx: - CHECK(save_PtoPred(stream, pc->u.plxys.p)); - CHECK(save_PtoOp(stream, pc->u.plxys.f)); - CHECK(save_X(stream, pc->u.plxys.x)); - CHECK(save_Y(stream, pc->u.plxys.y)); - CHECK(save_Constant(stream, pc->u.plxys.flags)); + CHECK(save_PtoPred(stream, pc->y_u.plxys.p)); + CHECK(save_PtoOp(stream, pc->y_u.plxys.f)); + CHECK(save_X(stream, pc->y_u.plxys.x)); + CHECK(save_Y(stream, pc->y_u.plxys.y)); + CHECK(save_Constant(stream, pc->y_u.plxys.flags)); pc = NEXTOP(pc,plxys); break; /* instructions type plyys */ case _call_bfunc_yy: - CHECK(save_PtoPred(stream, pc->u.plyys.p)); - CHECK(save_PtoOp(stream, pc->u.plyys.f)); - CHECK(save_Y(stream, pc->u.plyys.y1)); - CHECK(save_Y(stream, pc->u.plyys.y2)); - CHECK(save_Constant(stream, pc->u.plyys.flags)); + CHECK(save_PtoPred(stream, pc->y_u.plyys.p)); + CHECK(save_PtoOp(stream, pc->y_u.plyys.f)); + CHECK(save_Y(stream, pc->y_u.plyys.y1)); + CHECK(save_Y(stream, pc->y_u.plyys.y2)); + CHECK(save_Constant(stream, pc->y_u.plyys.flags)); pc = NEXTOP(pc,plyys); break; /* instructions type pp */ case _dexecute: case _execute: case _execute_cpred: - CHECK(save_PtoPred(stream, pc->u.pp.p)); - CHECK(save_PtoPred(stream, pc->u.pp.p0)); + CHECK(save_PtoPred(stream, pc->y_u.pp.p)); + CHECK(save_PtoPred(stream, pc->y_u.pp.p0)); pc = NEXTOP(pc,pp); break; /* instructions type s */ @@ -516,29 +516,29 @@ case _cut_t: case _pop_n: case _write_n_voids: - CHECK(save_Constant(stream, pc->u.s.s)); + CHECK(save_Constant(stream, pc->y_u.s.s)); pc = NEXTOP(pc,s); break; /* instructions type sc */ case _write_n_atoms: - CHECK(save_Constant(stream, pc->u.sc.s)); - CHECK(save_ConstantTerm(stream, pc->u.sc.c)); + CHECK(save_Constant(stream, pc->y_u.sc.s)); + CHECK(save_ConstantTerm(stream, pc->y_u.sc.c)); pc = NEXTOP(pc,sc); break; /* instructions type sllll */ case _switch_on_sub_arg_type: - CHECK(save_Constant(stream, pc->u.sllll.s)); - CHECK(save_PtoOp(stream, pc->u.sllll.l1)); - CHECK(save_PtoOp(stream, pc->u.sllll.l2)); - CHECK(save_PtoOp(stream, pc->u.sllll.l3)); - CHECK(save_PtoOp(stream, pc->u.sllll.l4)); + CHECK(save_Constant(stream, pc->y_u.sllll.s)); + CHECK(save_PtoOp(stream, pc->y_u.sllll.l1)); + CHECK(save_PtoOp(stream, pc->y_u.sllll.l2)); + CHECK(save_PtoOp(stream, pc->y_u.sllll.l3)); + CHECK(save_PtoOp(stream, pc->y_u.sllll.l4)); pc = NEXTOP(pc,sllll); break; /* instructions type slp */ case _call_c_wfail: - CHECK(save_Constant(stream, pc->u.slp.s)); - CHECK(save_PtoOp(stream, pc->u.slp.l)); - CHECK(save_PtoPred(stream, pc->u.slp.p)); + CHECK(save_Constant(stream, pc->y_u.slp.s)); + CHECK(save_PtoOp(stream, pc->y_u.slp.l)); + CHECK(save_PtoPred(stream, pc->y_u.slp.p)); pc = NEXTOP(pc,slp); break; /* instructions type sssl */ @@ -548,20 +548,20 @@ case _if_func: case _switch_on_cons: case _switch_on_func: - CHECK(save_Constant(stream, pc->u.sssl.s)); - CHECK(save_Constant(stream, pc->u.sssl.e)); - CHECK(save_Constant(stream, pc->u.sssl.w)); - CHECK(save_PtoOp(stream, pc->u.sssl.l)); + CHECK(save_Constant(stream, pc->y_u.sssl.s)); + CHECK(save_Constant(stream, pc->y_u.sssl.e)); + CHECK(save_Constant(stream, pc->y_u.sssl.w)); + CHECK(save_PtoOp(stream, pc->y_u.sssl.l)); pc = NEXTOP(pc,sssl); break; /* instructions type sssllp */ case _expand_clauses: - CHECK(save_Constant(stream, pc->u.sssllp.s1)); - CHECK(save_Constant(stream, pc->u.sssllp.s2)); - CHECK(save_Constant(stream, pc->u.sssllp.s3)); - CHECK(save_PtoOp(stream, pc->u.sssllp.sprev)); - CHECK(save_PtoOp(stream, pc->u.sssllp.snext)); - CHECK(save_PtoPred(stream, pc->u.sssllp.p)); + CHECK(save_Constant(stream, pc->y_u.sssllp.s1)); + CHECK(save_Constant(stream, pc->y_u.sssllp.s2)); + CHECK(save_Constant(stream, pc->y_u.sssllp.s3)); + CHECK(save_PtoOp(stream, pc->y_u.sssllp.sprev)); + CHECK(save_PtoOp(stream, pc->y_u.sssllp.snext)); + CHECK(save_PtoPred(stream, pc->y_u.sssllp.p)); pc = NEXTOP(pc,sssllp); break; /* instructions type x */ @@ -572,50 +572,50 @@ case _write_x_loc: case _write_x_val: case _write_x_var: - CHECK(save_X(stream, pc->u.x.x)); + CHECK(save_X(stream, pc->y_u.x.x)); pc = NEXTOP(pc,x); break; /* instructions type xD */ case _get_dbterm: case _put_dbterm: - CHECK(save_X(stream, pc->u.xD.x)); - CHECK(save_DBGroundTerm(stream, pc->u.xD.D)); + CHECK(save_X(stream, pc->y_u.xD.x)); + CHECK(save_DBGroundTerm(stream, pc->y_u.xD.D)); pc = NEXTOP(pc,xD); break; /* instructions type xN */ case _get_bigint: case _put_bigint: - CHECK(save_X(stream, pc->u.xN.x)); - CHECK(save_BlobTermInCode(stream, pc->u.xN.b)); + CHECK(save_X(stream, pc->y_u.xN.x)); + CHECK(save_BlobTermInCode(stream, pc->y_u.xN.b)); pc = NEXTOP(pc,xN); break; /* instructions type xc */ case _get_atom: case _put_atom: - CHECK(save_X(stream, pc->u.xc.x)); - CHECK(save_ConstantTerm(stream, pc->u.xc.c)); + CHECK(save_X(stream, pc->y_u.xc.x)); + CHECK(save_ConstantTerm(stream, pc->y_u.xc.c)); pc = NEXTOP(pc,xc); break; /* instructions type xd */ case _get_float: case _put_float: - CHECK(save_X(stream, pc->u.xd.x)); - CHECK(save_DoubleInCode(stream, pc->u.xd.d)); + CHECK(save_X(stream, pc->y_u.xd.x)); + CHECK(save_DoubleInCode(stream, pc->y_u.xd.d)); pc = NEXTOP(pc,xd); break; /* instructions type xfa */ case _get_struct: case _put_struct: - CHECK(save_X(stream, pc->u.xfa.x)); - CHECK(save_Func(stream, pc->u.xfa.f)); - CHECK(save_Arity(stream, pc->u.xfa.a)); + CHECK(save_X(stream, pc->y_u.xfa.x)); + CHECK(save_Func(stream, pc->y_u.xfa.f)); + CHECK(save_Arity(stream, pc->y_u.xfa.a)); pc = NEXTOP(pc,xfa); break; /* instructions type xi */ case _get_longint: case _put_longint: - CHECK(save_X(stream, pc->u.xi.x)); - CHECK(save_IntegerInCode(stream, pc->u.xi.i)); + CHECK(save_X(stream, pc->y_u.xi.x)); + CHECK(save_IntegerInCode(stream, pc->y_u.xi.i)); pc = NEXTOP(pc,xi); break; /* instructions type xl */ @@ -629,37 +629,37 @@ case _p_number_x: case _p_primitive_x: case _p_var_x: - CHECK(save_X(stream, pc->u.xl.x)); - CHECK(save_PtoOp(stream, pc->u.xl.F)); + CHECK(save_X(stream, pc->y_u.xl.x)); + CHECK(save_PtoOp(stream, pc->y_u.xl.F)); pc = NEXTOP(pc,xl); break; /* instructions type xll */ case _jump_if_nonvar: - CHECK(save_X(stream, pc->u.xll.x)); - CHECK(save_PtoOp(stream, pc->u.xll.l1)); - CHECK(save_PtoOp(stream, pc->u.xll.l2)); + CHECK(save_X(stream, pc->y_u.xll.x)); + CHECK(save_PtoOp(stream, pc->y_u.xll.l1)); + CHECK(save_PtoOp(stream, pc->y_u.xll.l2)); pc = NEXTOP(pc,xll); break; /* instructions type xllll */ case _switch_on_arg_type: - CHECK(save_X(stream, pc->u.xllll.x)); - CHECK(save_PtoOp(stream, pc->u.xllll.l1)); - CHECK(save_PtoOp(stream, pc->u.xllll.l2)); - CHECK(save_PtoOp(stream, pc->u.xllll.l3)); - CHECK(save_PtoOp(stream, pc->u.xllll.l4)); + CHECK(save_X(stream, pc->y_u.xllll.x)); + CHECK(save_PtoOp(stream, pc->y_u.xllll.l1)); + CHECK(save_PtoOp(stream, pc->y_u.xllll.l2)); + CHECK(save_PtoOp(stream, pc->y_u.xllll.l3)); + CHECK(save_PtoOp(stream, pc->y_u.xllll.l4)); pc = NEXTOP(pc,xllll); break; /* instructions type xps */ case _commit_b_x: - CHECK(save_X(stream, pc->u.xps.x)); - CHECK(save_PtoPred(stream, pc->u.xps.p0)); - CHECK(save_Constant(stream, pc->u.xps.s)); + CHECK(save_X(stream, pc->y_u.xps.x)); + CHECK(save_PtoPred(stream, pc->y_u.xps.p0)); + CHECK(save_Constant(stream, pc->y_u.xps.s)); pc = NEXTOP(pc,xps); break; /* instructions type xu */ case _get_string: - CHECK(save_X(stream, pc->u.xu.x)); - CHECK(save_BlobTermInCode(stream, pc->u.xu.ut)); + CHECK(save_X(stream, pc->y_u.xu.x)); + CHECK(save_BlobTermInCode(stream, pc->y_u.xu.ut)); pc = NEXTOP(pc,xu); break; /* instructions type xx */ @@ -670,15 +670,15 @@ case _glist_valx: case _put_x_val: case _put_x_var: - CHECK(save_X(stream, pc->u.xx.xl)); - CHECK(save_X(stream, pc->u.xx.xr)); + CHECK(save_X(stream, pc->y_u.xx.xl)); + CHECK(save_X(stream, pc->y_u.xx.xr)); pc = NEXTOP(pc,xx); break; /* instructions type xxc */ case _p_func2s_cv: - CHECK(save_X(stream, pc->u.xxc.x)); - CHECK(save_X(stream, pc->u.xxc.xi)); - CHECK(save_ConstantTerm(stream, pc->u.xxc.c)); + CHECK(save_X(stream, pc->y_u.xxc.x)); + CHECK(save_X(stream, pc->y_u.xxc.xi)); + CHECK(save_ConstantTerm(stream, pc->y_u.xxc.c)); pc = NEXTOP(pc,xxc); break; /* instructions type xxn */ @@ -695,9 +695,9 @@ case _p_slr_cv: case _p_slr_vc: case _p_times_vc: - CHECK(save_X(stream, pc->u.xxn.x)); - CHECK(save_X(stream, pc->u.xxn.xi)); - CHECK(save_Integer(stream, pc->u.xxn.c)); + CHECK(save_X(stream, pc->y_u.xxn.x)); + CHECK(save_X(stream, pc->y_u.xxn.xi)); + CHECK(save_Integer(stream, pc->y_u.xxn.c)); pc = NEXTOP(pc,xxn); break; /* instructions type xxx */ @@ -712,24 +712,24 @@ case _p_sll_vv: case _p_slr_vv: case _p_times_vv: - CHECK(save_X(stream, pc->u.xxx.x)); - CHECK(save_X(stream, pc->u.xxx.x1)); - CHECK(save_X(stream, pc->u.xxx.x2)); + CHECK(save_X(stream, pc->y_u.xxx.x)); + CHECK(save_X(stream, pc->y_u.xxx.x1)); + CHECK(save_X(stream, pc->y_u.xxx.x2)); pc = NEXTOP(pc,xxx); break; /* instructions type xxxx */ case _put_xx_val: - CHECK(save_X(stream, pc->u.xxxx.xl1)); - CHECK(save_X(stream, pc->u.xxxx.xl2)); - CHECK(save_X(stream, pc->u.xxxx.xr1)); - CHECK(save_X(stream, pc->u.xxxx.xr2)); + CHECK(save_X(stream, pc->y_u.xxxx.xl1)); + CHECK(save_X(stream, pc->y_u.xxxx.xl2)); + CHECK(save_X(stream, pc->y_u.xxxx.xr1)); + CHECK(save_X(stream, pc->y_u.xxxx.xr2)); pc = NEXTOP(pc,xxxx); break; /* instructions type xxy */ case _p_func2f_xy: - CHECK(save_X(stream, pc->u.xxy.x)); - CHECK(save_X(stream, pc->u.xxy.x1)); - CHECK(save_Y(stream, pc->u.xxy.y2)); + CHECK(save_X(stream, pc->y_u.xxy.x)); + CHECK(save_X(stream, pc->y_u.xxy.x1)); + CHECK(save_Y(stream, pc->y_u.xxy.y2)); pc = NEXTOP(pc,xxy); break; /* instructions type y */ @@ -737,7 +737,7 @@ case _write_y_loc: case _write_y_val: case _write_y_var: - CHECK(save_Y(stream, pc->u.y.y)); + CHECK(save_Y(stream, pc->y_u.y.y)); pc = NEXTOP(pc,y); break; /* instructions type yl */ @@ -751,15 +751,15 @@ case _p_number_y: case _p_primitive_y: case _p_var_y: - CHECK(save_Y(stream, pc->u.yl.y)); - CHECK(save_PtoOp(stream, pc->u.yl.F)); + CHECK(save_Y(stream, pc->y_u.yl.y)); + CHECK(save_PtoOp(stream, pc->y_u.yl.F)); pc = NEXTOP(pc,yl); break; /* instructions type yps */ case _commit_b_y: - CHECK(save_Y(stream, pc->u.yps.y)); - CHECK(save_PtoPred(stream, pc->u.yps.p0)); - CHECK(save_Constant(stream, pc->u.yps.s)); + CHECK(save_Y(stream, pc->y_u.yps.y)); + CHECK(save_PtoPred(stream, pc->y_u.yps.p0)); + CHECK(save_Constant(stream, pc->y_u.yps.s)); pc = NEXTOP(pc,yps); break; /* instructions type yx */ @@ -771,15 +771,15 @@ case _put_unsafe: case _put_y_val: case _put_y_var: - CHECK(save_Y(stream, pc->u.yx.y)); - CHECK(save_X(stream, pc->u.yx.x)); + CHECK(save_Y(stream, pc->y_u.yx.y)); + CHECK(save_X(stream, pc->y_u.yx.x)); pc = NEXTOP(pc,yx); break; /* instructions type yxc */ case _p_func2s_y_cv: - CHECK(save_Y(stream, pc->u.yxc.y)); - CHECK(save_X(stream, pc->u.yxc.xi)); - CHECK(save_ConstantTerm(stream, pc->u.yxc.c)); + CHECK(save_Y(stream, pc->y_u.yxc.y)); + CHECK(save_X(stream, pc->y_u.yxc.xi)); + CHECK(save_ConstantTerm(stream, pc->y_u.yxc.c)); pc = NEXTOP(pc,yxc); break; /* instructions type yxn */ @@ -796,9 +796,9 @@ case _p_slr_y_cv: case _p_slr_y_vc: case _p_times_y_vc: - CHECK(save_Y(stream, pc->u.yxn.y)); - CHECK(save_X(stream, pc->u.yxn.xi)); - CHECK(save_Integer(stream, pc->u.yxn.c)); + CHECK(save_Y(stream, pc->y_u.yxn.y)); + CHECK(save_X(stream, pc->y_u.yxn.xi)); + CHECK(save_Integer(stream, pc->y_u.yxn.c)); pc = NEXTOP(pc,yxn); break; /* instructions type yxx */ @@ -813,25 +813,25 @@ case _p_sll_y_vv: case _p_slr_y_vv: case _p_times_y_vv: - CHECK(save_Y(stream, pc->u.yxx.y)); - CHECK(save_X(stream, pc->u.yxx.x1)); - CHECK(save_X(stream, pc->u.yxx.x2)); + CHECK(save_Y(stream, pc->y_u.yxx.y)); + CHECK(save_X(stream, pc->y_u.yxx.x1)); + CHECK(save_X(stream, pc->y_u.yxx.x2)); pc = NEXTOP(pc,yxx); break; /* instructions type yyx */ case _p_func2f_yy: - CHECK(save_Y(stream, pc->u.yyx.y1)); - CHECK(save_Y(stream, pc->u.yyx.y2)); - CHECK(save_X(stream, pc->u.yyx.x)); + CHECK(save_Y(stream, pc->y_u.yyx.y1)); + CHECK(save_Y(stream, pc->y_u.yyx.y2)); + CHECK(save_X(stream, pc->y_u.yyx.x)); pc = NEXTOP(pc,yyx); break; /* instructions type yyxx */ case _get_yy_var: case _put_y_vals: - CHECK(save_Y(stream, pc->u.yyxx.y1)); - CHECK(save_Y(stream, pc->u.yyxx.y2)); - CHECK(save_X(stream, pc->u.yyxx.x1)); - CHECK(save_X(stream, pc->u.yyxx.x2)); + CHECK(save_Y(stream, pc->y_u.yyxx.y1)); + CHECK(save_Y(stream, pc->y_u.yyxx.y2)); + CHECK(save_X(stream, pc->y_u.yyxx.x1)); + CHECK(save_X(stream, pc->y_u.yyxx.x2)); pc = NEXTOP(pc,yyxx); break; #ifdef YAPOR @@ -840,14 +840,14 @@ case _getwork_seq: case _sync: #ifdef YAPOR - CHECK(save_OrArg(stream, pc->u.Otapl.or_arg)); + CHECK(save_OrArg(stream, pc->y_u.Otapl.or_arg)); #endif #ifdef TABLING - CHECK(save_TabEntry(stream, pc->u.Otapl.te)); + CHECK(save_TabEntry(stream, pc->y_u.Otapl.te)); #endif - CHECK(save_Arity(stream, pc->u.Otapl.s)); - CHECK(save_PtoPred(stream, pc->u.Otapl.p)); - CHECK(save_PtoOp(stream, pc->u.Otapl.d)); + CHECK(save_Arity(stream, pc->y_u.Otapl.s)); + CHECK(save_PtoPred(stream, pc->y_u.Otapl.p)); + CHECK(save_PtoOp(stream, pc->y_u.Otapl.d)); pc = NEXTOP(pc,Otapl); break; /* instructions type e */ @@ -873,14 +873,14 @@ case _table_try_me: case _table_try_single: #ifdef YAPOR - CHECK(save_OrArg(stream, pc->u.Otapl.or_arg)); + CHECK(save_OrArg(stream, pc->y_u.Otapl.or_arg)); #endif #ifdef TABLING - CHECK(save_TabEntry(stream, pc->u.Otapl.te)); + CHECK(save_TabEntry(stream, pc->y_u.Otapl.te)); #endif - CHECK(save_Arity(stream, pc->u.Otapl.s)); - CHECK(save_PtoPred(stream, pc->u.Otapl.p)); - CHECK(save_PtoOp(stream, pc->u.Otapl.d)); + CHECK(save_Arity(stream, pc->y_u.Otapl.s)); + CHECK(save_PtoPred(stream, pc->y_u.Otapl.p)); + CHECK(save_PtoOp(stream, pc->y_u.Otapl.d)); pc = NEXTOP(pc,Otapl); break; /* instructions type e */ @@ -892,7 +892,7 @@ break; /* instructions type s */ case _table_new_answer: - CHECK(save_Constant(stream, pc->u.s.s)); + CHECK(save_Constant(stream, pc->y_u.s.s)); pc = NEXTOP(pc,s); break; /* instructions type e */ diff --git a/H/walkclause.h b/H/walkclause.h index 10e33c34c..8e1241d9a 100644 --- a/H/walkclause.h +++ b/H/walkclause.h @@ -15,10 +15,10 @@ break; /* instructions type Illss */ case _enter_lu_pred: - return walk_got_lu_block(pc->u.Illss.I, startp, endp); + return walk_got_lu_block(pc->y_u.Illss.I, startp, endp); /* instructions type L */ case _alloc_for_logical_pred: - return walk_got_lu_clause(pc->u.L.ClBase, startp, endp); + return walk_got_lu_clause(pc->y_u.L.ClBase, startp, endp); /* instructions type N */ case _write_bigint: pc = NEXTOP(pc,N); @@ -27,7 +27,7 @@ case _either: case _or_else: clause_code = TRUE; - pp = pc->u.Osblp.p0; + pp = pc->y_u.Osblp.p0; pc = NEXTOP(pc,Osblp); break; /* instructions type Osbmp */ @@ -41,30 +41,30 @@ break; /* instructions type Osbpp */ case _call_cpred: - pp = pc->u.Osbpp.p; + pp = pc->y_u.Osbpp.p; return walk_found_c_pred(pp, startp, endp); case _call_usercpred: - pp = pc->u.Osbpp.p; + pp = pc->y_u.Osbpp.p; return walk_found_c_pred(pp, startp, endp); case _p_execute2: return found_meta_call(startp, endp); case _call: case _fcall: clause_code = TRUE; - pp = pc->u.Osbpp.p0; + pp = pc->y_u.Osbpp.p0; pc = NEXTOP(pc,Osbpp); break; /* instructions type OtILl */ case _count_trust_logical: case _profiled_trust_logical: case _trust_logical: - return walk_got_lu_block(pc->u.OtILl.block, startp, endp); + return walk_got_lu_block(pc->y_u.OtILl.block, startp, endp); /* instructions type OtaLl */ case _count_retry_logical: case _profiled_retry_logical: case _retry_logical: case _try_logical: - pc = pc->u.OtaLl.n; + pc = pc->y_u.OtaLl.n; break; /* instructions type OtapFs */ case _cut_c: @@ -74,7 +74,7 @@ case _try_c: case _try_userc: clause_code = TRUE; - pp = pc->u.OtapFs.p; + pp = pc->y_u.OtapFs.p; pc = NEXTOP(pc,OtapFs); break; /* instructions type Otapl */ @@ -94,7 +94,7 @@ case _try_clause: case _try_me: clause_code = FALSE; - pp = pc->u.Otapl.p; + pp = pc->y_u.Otapl.p; pc = NEXTOP(pc,Otapl); break; /* instructions type aFlp */ @@ -342,7 +342,7 @@ /* instructions type p */ case _lock_lu: case _procceed: - pp = pc->u.p.p; + pp = pc->y_u.p.p; if (pp->PredFlags & MegaClausePredFlag) return found_mega_clause(pp, startp, endp); clause_code = TRUE; @@ -372,12 +372,12 @@ break; /* instructions type pp */ case _execute_cpred: - pp = pc->u.pp.p; + pp = pc->y_u.pp.p; return walk_found_c_pred(pp, startp, endp); case _dexecute: case _execute: clause_code = TRUE; - pp = pc->u.pp.p0; + pp = pc->y_u.pp.p0; pc = NEXTOP(pc,pp); break; /* instructions type s */ @@ -398,7 +398,7 @@ break; /* instructions type slp */ case _call_c_wfail: - pp = pc->u.slp.p; + pp = pc->y_u.slp.p; return walk_found_c_pred(pp, startp, endp); /* instructions type sssl */ case _go_on_cons: @@ -619,7 +619,7 @@ case _getwork_seq: case _sync: clause_code = FALSE; - pp = pc->u.Otapl.p; + pp = pc->y_u.Otapl.p; pc = NEXTOP(pc,Otapl); break; /* instructions type e */ @@ -644,7 +644,7 @@ case _table_try_me: case _table_try_single: clause_code = FALSE; - pp = pc->u.Otapl.p; + pp = pc->y_u.Otapl.p; pc = NEXTOP(pc,Otapl); break; /* instructions type e */ @@ -728,13 +728,13 @@ /* this instruction is hardwired */ case _or_last: #ifdef YAPOR - pp = pc->u.Osblp.p0; + pp = pc->y_u.Osblp.p0; if (pp->PredFlags & MegaClausePredFlag) return found_mega_clause(pp, startp, endp); clause_code = TRUE; pc = NEXTOP(pc,Osblp); #else - pp = pc->u.p.p; + pp = pc->y_u.p.p; if (pp->PredFlags & MegaClausePredFlag) return found_mega_clause(pp, startp, endp); clause_code = TRUE; diff --git a/OPTYap/or.macros.h b/OPTYap/or.macros.h index 20fa887f8..6cc98215f 100644 --- a/OPTYap/or.macros.h +++ b/OPTYap/or.macros.h @@ -80,16 +80,16 @@ static inline qg_sol_fr_ptr CUT_prune_solution_frames(qg_sol_fr_ptr, int); #define YAMOP_LTT_BITS OOOOPPS!!! Unknown Integer Sizeof #endif /* SIZEOF_INT */ -#define YAMOP_OR_ARG(INST) ((INST)->u.Otapl.or_arg) -#define YAMOP_LTT(INST) (((INST)->u.Otapl.or_arg) & YAMOP_LTT_BITS) -#define YAMOP_SEQ(INST) (((INST)->u.Otapl.or_arg) & YAMOP_SEQ_FLAG) -#define YAMOP_CUT(INST) (((INST)->u.Otapl.or_arg) & YAMOP_CUT_FLAG) -#define YAMOP_FLAGS(INST) (((INST)->u.Otapl.or_arg) & YAMOP_FLAGS_BITS) +#define YAMOP_OR_ARG(INST) ((INST)->y_u.Otapl.or_arg) +#define YAMOP_LTT(INST) (((INST)->y_u.Otapl.or_arg) & YAMOP_LTT_BITS) +#define YAMOP_SEQ(INST) (((INST)->y_u.Otapl.or_arg) & YAMOP_SEQ_FLAG) +#define YAMOP_CUT(INST) (((INST)->y_u.Otapl.or_arg) & YAMOP_CUT_FLAG) +#define YAMOP_FLAGS(INST) (((INST)->y_u.Otapl.or_arg) & YAMOP_FLAGS_BITS) -#define INIT_YAMOP_LTT(INST, LTT) ((INST)->u.Otapl.or_arg = LTT+1) -#define PUT_YAMOP_LTT(INST, LTT) (INST)->u.Otapl.or_arg = YAMOP_FLAGS(INST) | (LTT+1) -#define PUT_YAMOP_SEQ(INST) (INST)->u.Otapl.or_arg |= YAMOP_SEQ_FLAG -#define PUT_YAMOP_CUT(INST) (INST)->u.Otapl.or_arg |= YAMOP_CUT_FLAG +#define INIT_YAMOP_LTT(INST, LTT) ((INST)->y_u.Otapl.or_arg = LTT+1) +#define PUT_YAMOP_LTT(INST, LTT) (INST)->y_u.Otapl.or_arg = YAMOP_FLAGS(INST) | (LTT+1) +#define PUT_YAMOP_SEQ(INST) (INST)->y_u.Otapl.or_arg |= YAMOP_SEQ_FLAG +#define PUT_YAMOP_CUT(INST) (INST)->y_u.Otapl.or_arg |= YAMOP_CUT_FLAG #define BRANCH(WORKER, DEPTH) GLOBAL_branch(WORKER, DEPTH) #define BRANCH_LTT(WORKER, DEPTH) (BRANCH(WORKER, DEPTH) & YAMOP_LTT_BITS) diff --git a/OPTYap/tab.insts.i b/OPTYap/tab.insts.i index 85498d15a..0cd19c54d 100644 --- a/OPTYap/tab.insts.i +++ b/OPTYap/tab.insts.i @@ -434,14 +434,14 @@ if (PREG->opc == Yap_opcode(_table_try)) { /* table_try */ code_ap = NEXTOP(PREG,Otapl); - PREG = PREG->u.Otapl.d; + PREG = PREG->y_u.Otapl.d; } else if (PREG->opc == Yap_opcode(_table_try_single)) { /* table_try_single */ code_ap = COMPLETION; - PREG = PREG->u.Otapl.d; + PREG = PREG->y_u.Otapl.d; } else { /* table_try_me */ - code_ap = PREG->u.Otapl.d; + code_ap = PREG->y_u.Otapl.d; PREG = NEXTOP(PREG,Otapl); } PREFETCH_OP(PREG); @@ -453,7 +453,7 @@ GONext(); } #else - PREG = PREG->u.Otapl.d; + PREG = PREG->y_u.Otapl.d; PREFETCH_OP(PREG); GONext(); #endif /* INCOMPLETE_TABLING */ @@ -470,7 +470,7 @@ sg_fr_ptr sg_fr; check_trail(TR); - tab_ent = PREG->u.Otapl.te; + tab_ent = PREG->y_u.Otapl.te; YENV2MEM; sg_fr = subgoal_search(PREG, YENV_ADDRESS); MEM2YENV; @@ -488,7 +488,7 @@ #ifdef THREADS_CONSUMER_SHARING if (SgFr_state(sg_fr) == ready_external) { init_subgoal_frame(sg_fr); - store_generator_consumer_node(tab_ent, sg_fr, TRUE, PREG->u.Otapl.s); + store_generator_consumer_node(tab_ent, sg_fr, TRUE, PREG->y_u.Otapl.s); PREFETCH_OP(PREG); allocate_environment(); check_for_deadlock(sg_fr); @@ -505,9 +505,9 @@ } else #endif /* DETERMINISTIC_TABLING */ { - store_generator_node(tab_ent, sg_fr, PREG->u.Otapl.s, COMPLETION); + store_generator_node(tab_ent, sg_fr, PREG->y_u.Otapl.s, COMPLETION); } - PREG = PREG->u.Otapl.d; /* should work also with PREG = NEXTOP(PREG,Otapl); */ + PREG = PREG->y_u.Otapl.d; /* should work also with PREG = NEXTOP(PREG,Otapl); */ PREFETCH_OP(PREG); allocate_environment(); GONext(); @@ -522,7 +522,7 @@ init_subgoal_frame(sg_fr); UNLOCK_SG_FR(sg_fr); SgFr_try_answer(sg_fr) = ans_node; - store_generator_node(tab_ent, sg_fr, PREG->u.Otapl.s, TRY_ANSWER); + store_generator_node(tab_ent, sg_fr, PREG->y_u.Otapl.s, TRY_ANSWER); PREG = (yamop *) CPREG; PREFETCH_OP(PREG); load_answer(ans_node, subs_ptr); @@ -638,7 +638,7 @@ sg_fr_ptr sg_fr; check_trail(TR); - tab_ent = PREG->u.Otapl.te; + tab_ent = PREG->y_u.Otapl.te; YENV2MEM; sg_fr = subgoal_search(PREG, YENV_ADDRESS); MEM2YENV; @@ -657,7 +657,7 @@ if (SgFr_state(sg_fr) == ready_external) { init_subgoal_frame(sg_fr); UNLOCK_SG_FR(sg_fr); - store_generator_consumer_node(tab_ent, sg_fr, TRUE, PREG->u.Otapl.s); + store_generator_consumer_node(tab_ent, sg_fr, TRUE, PREG->y_u.Otapl.s); PREFETCH_OP(PREG); allocate_environment(); check_for_deadlock(sg_fr); @@ -668,7 +668,7 @@ /* subgoal new */ init_subgoal_frame(sg_fr); UNLOCK_SG_FR(sg_fr); - store_generator_node(tab_ent, sg_fr, PREG->u.Otapl.s, PREG->u.Otapl.d); + store_generator_node(tab_ent, sg_fr, PREG->y_u.Otapl.s, PREG->y_u.Otapl.d); PREG = NEXTOP(PREG, Otapl); PREFETCH_OP(PREG); allocate_environment(); @@ -684,7 +684,7 @@ init_subgoal_frame(sg_fr); UNLOCK_SG_FR(sg_fr); SgFr_try_answer(sg_fr) = ans_node; - store_generator_node(tab_ent, sg_fr, PREG->u.Otapl.s, TRY_ANSWER); + store_generator_node(tab_ent, sg_fr, PREG->y_u.Otapl.s, TRY_ANSWER); PREG = (yamop *) CPREG; PREFETCH_OP(PREG); load_answer(ans_node, subs_ptr); @@ -788,7 +788,7 @@ sg_fr_ptr sg_fr; check_trail(TR); - tab_ent = PREG->u.Otapl.te; + tab_ent = PREG->y_u.Otapl.te; YENV2MEM; sg_fr = subgoal_search(PREG, YENV_ADDRESS); MEM2YENV; @@ -807,7 +807,7 @@ if (SgFr_state(sg_fr) == ready_external) { init_subgoal_frame(sg_fr); UNLOCK_SG_FR(sg_fr); - store_generator_consumer_node(tab_ent, sg_fr, TRUE , PREG->u.Otapl.s); + store_generator_consumer_node(tab_ent, sg_fr, TRUE , PREG->y_u.Otapl.s); PREFETCH_OP(PREG); allocate_environment(); check_for_deadlock(sg_fr); @@ -818,8 +818,8 @@ /* subgoal new */ init_subgoal_frame(sg_fr); UNLOCK_SG_FR(sg_fr); - store_generator_node(tab_ent, sg_fr, PREG->u.Otapl.s, NEXTOP(PREG,Otapl)); - PREG = PREG->u.Otapl.d; + store_generator_node(tab_ent, sg_fr, PREG->y_u.Otapl.s, NEXTOP(PREG,Otapl)); + PREG = PREG->y_u.Otapl.d; PREFETCH_OP(PREG); allocate_environment(); GONext(); @@ -834,7 +834,7 @@ init_subgoal_frame(sg_fr); UNLOCK_SG_FR(sg_fr); SgFr_try_answer(sg_fr) = ans_node; - store_generator_node(tab_ent, sg_fr, PREG->u.Otapl.s, TRY_ANSWER); + store_generator_node(tab_ent, sg_fr, PREG->y_u.Otapl.s, TRY_ANSWER); PREG = (yamop *) CPREG; PREFETCH_OP(PREG); load_answer(ans_node, subs_ptr); @@ -946,7 +946,7 @@ ************************************************************************/ Op(table_retry_me, Otapl) - restore_generator_node(PREG->u.Otapl.s, PREG->u.Otapl.d); + restore_generator_node(PREG->y_u.Otapl.s, PREG->y_u.Otapl.d); YENV = (CELL *) PROTECT_FROZEN_B(B); set_cut(YENV, B->cp_b); SET_BB(NORM_CP(YENV)); @@ -962,12 +962,12 @@ ************************************************************************/ Op(table_retry, Otapl) - restore_generator_node(PREG->u.Otapl.s, NEXTOP(PREG,Otapl)); + restore_generator_node(PREG->y_u.Otapl.s, NEXTOP(PREG,Otapl)); YENV = (CELL *) PROTECT_FROZEN_B(B); set_cut(YENV, B->cp_b); SET_BB(NORM_CP(YENV)); allocate_environment(); - PREG = PREG->u.Otapl.d; + PREG = PREG->y_u.Otapl.d; GONext(); ENDOp(); @@ -978,10 +978,10 @@ ************************************************************************/ Op(table_trust_me, Otapl) - restore_generator_node(PREG->u.Otapl.s, COMPLETION); + restore_generator_node(PREG->y_u.Otapl.s, COMPLETION); #ifdef DETERMINISTIC_TABLING if (B_FZ > B && IS_BATCHED_NORM_GEN_CP(B)) { - CELL *subs_ptr = (CELL *)(GEN_CP(B) + 1) + PREG->u.Otapl.s; + CELL *subs_ptr = (CELL *)(GEN_CP(B) + 1) + PREG->y_u.Otapl.s; choiceptr gcp = NORM_CP(DET_GEN_CP(subs_ptr) - 1); sg_fr_ptr sg_fr = GEN_CP(B)->cp_sg_fr; DET_GEN_CP(gcp)->cp_sg_fr = sg_fr; @@ -1010,10 +1010,10 @@ ************************************************************************/ Op(table_trust, Otapl) - restore_generator_node(PREG->u.Otapl.s, COMPLETION); + restore_generator_node(PREG->y_u.Otapl.s, COMPLETION); #ifdef DETERMINISTIC_TABLING if (B_FZ > B && IS_BATCHED_NORM_GEN_CP(B)) { - CELL *subs_ptr = (CELL *)(GEN_CP(B) + 1) + PREG->u.Otapl.s; + CELL *subs_ptr = (CELL *)(GEN_CP(B) + 1) + PREG->y_u.Otapl.s; choiceptr gcp = NORM_CP(DET_GEN_CP(subs_ptr) - 1); sg_fr_ptr sg_fr = GEN_CP(B)->cp_sg_fr; DET_GEN_CP(gcp)->cp_sg_fr = sg_fr; @@ -1031,7 +1031,7 @@ set_cut(YENV, B->cp_b); SET_BB(NORM_CP(YENV)); allocate_environment(); - PREG = PREG->u.Otapl.d; + PREG = PREG->y_u.Otapl.d; GONext(); ENDOp(); @@ -1056,7 +1056,7 @@ #endif /* DETERMINISTIC_TABLING */ { sg_fr = GEN_CP(gcp)->cp_sg_fr; - subs_ptr = (CELL *)(GEN_CP(gcp) + 1) + PREG->u.s.s; + subs_ptr = (CELL *)(GEN_CP(gcp) + 1) + PREG->y_u.s.s; } #if defined(DEBUG_TABLING) && !defined(DETERMINISTIC_TABLING) { @@ -1064,7 +1064,7 @@ CELL *aux_args; CELL *aux_subs; - arity_args = PREG->u.s.s; + arity_args = PREG->y_u.s.s; arity_subs = *subs_ptr; aux_args = (CELL *)(GEN_CP(gcp) + 1); aux_subs = subs_ptr; diff --git a/OPTYap/tab.structs.h b/OPTYap/tab.structs.h index 5f1a4c2d5..41f20c4af 100644 --- a/OPTYap/tab.structs.h +++ b/OPTYap/tab.structs.h @@ -271,8 +271,8 @@ typedef struct subgoal_entry { #define SgEnt_lock(X) ((X)->lock) #define SgEnt_code(X) ((X)->code_of_subgoal) -#define SgEnt_tab_ent(X) (((X)->code_of_subgoal)->u.Otapl.te) -#define SgEnt_arity(X) (((X)->code_of_subgoal)->u.Otapl.s) +#define SgEnt_tab_ent(X) (((X)->code_of_subgoal)->y_u.Otapl.te) +#define SgEnt_arity(X) (((X)->code_of_subgoal)->y_u.Otapl.s) #define SgEnt_hash_chain(X) ((X)->hash_chain) #define SgEnt_answer_trie(X) ((X)->answer_trie) #define SgEnt_first_answer(X) ((X)->first_answer) @@ -316,8 +316,8 @@ typedef struct subgoal_frame { #endif /* THREADS_FULL_SHARING || THREADS_CONSUMER_SHARING */ #define SgFr_lock(X) (SUBGOAL_ENTRY(X) lock) #define SgFr_code(X) (SUBGOAL_ENTRY(X) code_of_subgoal) -#define SgFr_tab_ent(X) ((SUBGOAL_ENTRY(X) code_of_subgoal)->u.Otapl.te) -#define SgFr_arity(X) ((SUBGOAL_ENTRY(X) code_of_subgoal)->u.Otapl.s) +#define SgFr_tab_ent(X) ((SUBGOAL_ENTRY(X) code_of_subgoal)->y_u.Otapl.te) +#define SgFr_arity(X) ((SUBGOAL_ENTRY(X) code_of_subgoal)->y_u.Otapl.s) #define SgFr_hash_chain(X) (SUBGOAL_ENTRY(X) hash_chain) #define SgFr_answer_trie(X) (SUBGOAL_ENTRY(X) answer_trie) #define SgFr_first_answer(X) (SUBGOAL_ENTRY(X) first_answer) diff --git a/OPTYap/tab.tries.c b/OPTYap/tab.tries.c index 4daf85a50..b417f36bc 100644 --- a/OPTYap/tab.tries.c +++ b/OPTYap/tab.tries.c @@ -1071,8 +1071,8 @@ sg_fr_ptr subgoal_search(yamop *preg, CELL **Yaddr) { stack_vars = *Yaddr; subs_arity = 0; - pred_arity = preg->u.Otapl.s; - tab_ent = preg->u.Otapl.te; + pred_arity = preg->y_u.Otapl.s; + tab_ent = preg->y_u.Otapl.te; current_sg_node = get_insert_subgoal_trie(tab_ent PASS_REGS); LOCK_SUBGOAL_TRIE(tab_ent); diff --git a/include/YapRegs.h b/include/YapRegs.h index 1485e3414..333a94ec0 100644 --- a/include/YapRegs.h +++ b/include/YapRegs.h @@ -30,7 +30,7 @@ typedef void *yamop; typedef char *ADDR; -#define RESET_VARIABLE(X) (*(X) = (CELL)(X)) +// #define RESET_VARIABLE(X) (*(X) = (CELL)(X)) #ifdef _YAP_NOT_INSTALLED_ #include "Regs.h" diff --git a/library/dialect/swi/fli/swi.c b/library/dialect/swi/fli/swi.c index 4b31ee038..2fcb42456 100755 --- a/library/dialect/swi/fli/swi.c +++ b/library/dialect/swi/fli/swi.c @@ -81,7 +81,7 @@ do_gc(UInt sz) yamop *nextpc; if (P && PREVOP(P,Osbpp)->opc == Yap_opcode(_call_usercpred)) { - arity = PREVOP(P,Osbpp)->u.Osbpp.p->ArityOfPE; + arity = PREVOP(P,Osbpp)->y_u.Osbpp.p->ArityOfPE; nextpc = P; } else { arity = 0; diff --git a/misc/buildops b/misc/buildops index 461880dea..33003c335 100644 --- a/misc/buildops +++ b/misc/buildops @@ -200,15 +200,15 @@ special_formats(C,"e") :- !, special_formats(C,"l") :- !, format(C,' if (op == _Ystop) return;~n',[]). special_formats(C,"sssl") :- !, - format(C,' AdjustSwitchTable(op, pc->u.sssl.l, pc->u.sssl.s);~n',[]). + format(C,' AdjustSwitchTable(op, pc->y_u.sssl.l, pc->y_u.sssl.s);~n',[]). special_formats(C,"Illss") :- !, format(C,' opc = NEXTOP(pc,Illss); - pc = pc->u.Illss.l1; + pc = pc->y_u.Illss.l1; break;~n',[]), % don't go to NEXTOP fail. special_formats(C,"OtaLl") :- !, - format(C,' pc = pc->u.OtaLl.n; + format(C,' pc = pc->y_u.OtaLl.n; break;~n',[]), % don't go to NEXTOP fail. @@ -230,10 +230,10 @@ dump_fields(C,[_|Info],Ops,T) :- dump_field(C,I,O,T) :- rewritable_field(O), !, get_op(O,A), - format(C,' ~sAdjust(pc->u.~s.~s);~n',[A,T,I]). + format(C,' ~sAdjust(pc->y_u.~s.~s);~n',[A,T,I]). dump_field(C,I,O,T) :- get_op(O,A), - format(C,' pc->u.~s.~s = ~sAdjust(pc->u.~s.~s);~n',[T,I,A,T,I]). + format(C,' pc->y_u.~s.~s = ~sAdjust(pc->y_u.~s.~s);~n',[T,I,A,T,I]). rewritable_field(0'd). rewritable_field(0'i). @@ -349,15 +349,15 @@ c_call_op("call_c_wfail"). % I field gives direct access to LU index block and to all Pred information output_walk(C,"Illss",_) :- !, - format(C,' return walk_got_lu_block(pc->u.Illss.I, startp, endp);~n',[]). + format(C,' return walk_got_lu_block(pc->y_u.Illss.I, startp, endp);~n',[]). output_walk(C,"OtILl",_) :- !, - format(C,' return walk_got_lu_block(pc->u.OtILl.block, startp, endp);~n',[]). + format(C,' return walk_got_lu_block(pc->y_u.OtILl.block, startp, endp);~n',[]). % I field gives direct access to LU index clause and to all Pred information output_walk(C,"L",_) :- !, - format(C,' return walk_got_lu_clause(pc->u.L.ClBase, startp, endp);~n',[]). + format(C,' return walk_got_lu_clause(pc->y_u.L.ClBase, startp, endp);~n',[]). % we cannot jump to clause code. output_walk(C,"OtaLl",_) :- !, - format(C,' pc = pc->u.OtaLl.n;~n break;~n',[]). + format(C,' pc = pc->y_u.OtaLl.n;~n break;~n',[]). % ops which point at the clause's predicate. output_walk(C,"Osblp",_) :- !, label_in_clause(C,"Osblp","p0"). @@ -443,23 +443,23 @@ output_ewalks(C,["trust_fail"|Ops]) :- label_in_clause(C,Type,Field) :- format(C,' clause_code = TRUE;~n',[]), - format(C,' pp = pc->u.~s.~s;~n',[Type,Field]), + format(C,' pp = pc->y_u.~s.~s;~n',[Type,Field]), format(C,' pc = NEXTOP(pc,~s); break;~n',[Type]). label_in_index(C,Type,Field) :- format(C,' clause_code = FALSE;~n',[]), - format(C,' pp = pc->u.~s.~s;~n',[Type,Field]), + format(C,' pp = pc->y_u.~s.~s;~n',[Type,Field]), format(C,' pc = NEXTOP(pc,~s); break;~n',[Type]). add_pi(C,Type,Field) :- - format(C,' pp = pc->u.~s.~s;~n',[Type,Field]), + format(C,' pp = pc->y_u.~s.~s;~n',[Type,Field]), format(C,' clause_code = FALSE;~n',[]), format(C,' pc = NEXTOP(pc,~s);~n',[Type]). add_pp(C,Type,Field) :- - format(C,' pp = pc->u.~s.~s;~n',[Type,Field]), + format(C,' pp = pc->y_u.~s.~s;~n',[Type,Field]), format(C,' if (pp->PredFlags & MegaClausePredFlag)~n',[]), format(C,' return found_mega_clause(pp, startp, endp);~n',[]), format(C,' clause_code = TRUE;~n',[]), @@ -469,7 +469,7 @@ walk_to_meta_call(C) :- format(C,' return found_meta_call(startp, endp);~n',[]). walk_to_c_code(C,Type,Field) :- - format(C,' pp = pc->u.~s.~s;~n',[Type,Field]), + format(C,' pp = pc->y_u.~s.~s;~n',[Type,Field]), format(C,' return walk_found_c_pred(pp, startp, endp);~n',[]). % @@ -500,7 +500,7 @@ dump_actions([A|Actions], Op, T, L) :- % conditional jumps can dump_action(body, _, _, _). dump_action(ifthenelse, _, T, L) :- - format(L,' if (cl->u.~s.F != FAILCODE) { + format(L,' if (cl->y_u.~s.F != FAILCODE) { clause->Tag = (CELL)NULL; return; }~n', [T]). @@ -517,22 +517,22 @@ dump_action(bind(Who,What,Extra), _, T, L) :- handle_bind_extra(Extra, T, Command), handle_constant(What, T, Constant), check_atom_dbref(What, Constant, ExtraAction), - format(L,' if (is_regcopy(myregs, nofregs, cl->u.~s.~s)) { + format(L,' if (is_regcopy(myregs, nofregs, cl->y_u.~s.~s)) { ~sclause->Tag = ~s;~s return; }~n', [T, Who, ExtraAction, Constant, Command]). dump_action(new(Who), _, T, L) :- - format(L,' if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.~s.~s))) { + format(L,' if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.~s.~s))) { clause->Tag = (CELL)NULL; return; }~n', [T,Who]). dump_action(dup(Who1,Who2), _, T, L) :- - format(L,' if (!(nofregs = add_regcopy(myregs, nofregs, cl->u.~s.~s, cl->u.~s.~s))) { + format(L,' if (!(nofregs = add_regcopy(myregs, nofregs, cl->y_u.~s.~s, cl->y_u.~s.~s))) { clause->Tag = (CELL)NULL; return; }~n', [T,Who1,T,Who2]). dump_action(unify(Who1,Who2), _, T, L) :- - format(L,' if (!(nofregs = link_regcopies(myregs, nofregs, cl->u.~s.~s, cl->u.~s.~s))) { + format(L,' if (!(nofregs = link_regcopies(myregs, nofregs, cl->y_u.~s.~s, cl->y_u.~s.~s))) { clause->Tag = (CELL)NULL; return; }~n', [T,Who1,T,Who2]). @@ -579,7 +579,7 @@ handle_bind_extra([], _, ""). handle_bind_extra(t_ptr=[], _,S) :- !, format_to_chars("~n clause->ucd.t_ptr = (CELL)NULL;",[],S). handle_bind_extra(t_ptr=F, Type, S) :- - format_to_chars("~n clause->ucd.t_ptr = AbsAppl(cl->u.~s.~s);",[Type,F],S). + format_to_chars("~n clause->ucd.t_ptr = AbsAppl(cl->y_u.~s.~s);",[Type,F],S). handle_bind_extra(workpc=nextop, T,S) :- format_to_chars("~n clause->ucd.WorkPC = NEXTOP(cl,~s);",[T],S). handle_bind_extra(workpc=currentop, _,S) :- @@ -596,7 +596,7 @@ handle_constant(What, T, Const) :- -> Const = What ; - format_to_chars("cl->u.~s.~s",[T,What],Const) + format_to_chars("cl->y_u.~s.~s",[T,What],Const) ). % @@ -640,45 +640,45 @@ dump_head_action(bind(Who,What,Extra), _, T, L) :- handle_constant(What, T, Constant), handle_bind_extra(Extra, T, Command), check_atom_dbref(What, Constant, ExtraAction), - format(L,' if (iarg == cl->u.~s.~s) { + format(L,' if (iarg == cl->y_u.~s.~s) { ~sclause->Tag = ~s;~s return; }~n', [T,Who,ExtraAction,Constant,Command]). dump_head_action(new(Who), _, _, _) :- Who = [0'y|_], !. % 0'y done dump_head_action(new(Who), _, T, L) :- - format(L,' if (iarg == cl->u.~s.~s) { + format(L,' if (iarg == cl->y_u.~s.~s) { clause->Tag = (CELL)NULL; return; }~n', [T,Who]). dump_head_action(dup(Who1,Who2), _, T, L) :- Who1 = [0'y|_], !, % 0'y done - format(L,' if (cl->u.~s.~s == iarg) { + format(L,' if (cl->y_u.~s.~s == iarg) { clause->Tag = (CELL)NULL; return; }~n', [T,Who2]). dump_head_action(dup(Who1,Who2), _, T, L) :- Who2 = [0'y|_], !, % 0'y done - format(L,' if (cl->u.~s.~s == iarg) { + format(L,' if (cl->y_u.~s.~s == iarg) { clause->Tag = (CELL)NULL; return; }~n', [T,Who1]). dump_head_action(dup(Who1,Who2), _, T, L) :- - format(L,' if (cl->u.~s.~s == iarg || - cl->u.~s.~s == iarg) { + format(L,' if (cl->y_u.~s.~s == iarg || + cl->y_u.~s.~s == iarg) { clause->Tag = (CELL)NULL; return; }~n', [T,Who1,T,Who2]). dump_head_action(unify(Who1,Who2), _, T, L) :- Who1 = [0'y|_], !, % 0'y done - format(L,' if (cl->u.~s.~s == iarg) { + format(L,' if (cl->y_u.~s.~s == iarg) { clause->Tag = (CELL)NULL; return; }~n', [T,Who2]). dump_head_action(unify(Who1,Who2), _, T, L) :- Who2 = [0'y|_], !, % 0'y done - format(L,' if (cl->u.~s.~s == iarg) { + format(L,' if (cl->y_u.~s.~s == iarg) { clause->Tag = (CELL)NULL; return; }~n', [T,Who1]). dump_head_action(unify(Who1,Who2), _, T, L) :- - format(L,' if (cl->u.~s.~s == iarg || - cl->u.~s.~s == iarg) { + format(L,' if (cl->y_u.~s.~s == iarg || + cl->y_u.~s.~s == iarg) { clause->Tag = (CELL)NULL; return; }~n', [T,Who1,T,Who2]). @@ -882,7 +882,7 @@ opinfo("gl_void_valx",[bind("xl","AbsPair(NULL)",workpc=currentop)]). opinfo("gl_void_valy",[bind("y","AbsPair(NULL)",workpc=currentop)]). opinfo("gl_void_varx",[bind("xl","AbsPair(NULL)",workpc=currentop),new("xr")]). opinfo("gl_void_vary",[bind("y","AbsPair(NULL)",workpc=currentop),new("y")]). -opinfo("get_struct",[bind("x","AbsAppl((CELL *)cl->u.xfa.f)",workpc=nextop)]). +opinfo("get_struct",[bind("x","AbsAppl((CELL *)cl->y_u.xfa.f)",workpc=nextop)]). opinfo("get_float",[bind("x","AbsAppl((CELL *)FunctorDouble)",t_ptr="d")]). opinfo("get_longint",[bind("x","AbsAppl((CELL *)FunctorLongInt)",t_ptr="i")]). opinfo("get_string",[bind("x","AbsAppl((CELL *)FunctorString)",t_ptr=[])]). @@ -1166,10 +1166,10 @@ output_save(S, [Name|Names], [Type|Types], Desc) :- output_save_type(S, OpT, T-"none", Desc) :- !, get_op(OpT, Name), - format(S, " CHECK(save_~s(stream, pc->u.~s.~s));~n", [Name, Desc, T]). + format(S, " CHECK(save_~s(stream, pc->y_u.~s.~s));~n", [Name, Desc, T]). output_save_type(S, OpT, T-Def, Desc) :- get_op(OpT, Name), - format(S, "#ifdef ~s~n CHECK(save_~s(stream, pc->u.~s.~s));~n#endif~n", [Def,Name, Desc, T]). + format(S, "#ifdef ~s~n CHECK(save_~s(stream, pc->y_u.~s.~s));~n#endif~n", [Def,Name, Desc, T]).