compiler support for udi including user_index instruction

This commit is contained in:
Vítor Santos Costa
2009-02-12 21:35:31 +00:00
parent 5d21f7a3d2
commit 8a6e0acedc
12 changed files with 75 additions and 0 deletions

View File

@@ -1181,6 +1181,10 @@ cleanup_dangling_indices(yamop *ipc, yamop *beg, yamop *end, yamop *suspend_code
ipc->u.xll.l1 = release_wcls(ipc->u.xll.l1, ecs);
ipc = NEXTOP(ipc,xll);
break;
/* instructions type p */
case _user_switch:
ipc = NEXTOP(ipc,p);
break;
/* instructions type e */
case _switch_on_type:
ipc->u.llll.l1 = release_wcls(ipc->u.llll.l1, ecs);
@@ -2136,6 +2140,9 @@ addclause(Term t, yamop *cp, int mode, Term mod, Term *t4ref)
UNLOCK(p->PELock);
return TermNil;
}
if (pflags & UDIPredFlag) {
Yap_new_udi_clause(p, cp, t);
}
if (!is_dynamic(p)) {
if (pflags & LogUpdatePredFlag) {
LogUpdClause *clp = ClauseCodeToLogUpdClause(cp);