Merge branch 'master' of git://yap.git.sourceforge.net/gitroot/yap/yap-6.3

This commit is contained in:
Vitor Santos Costa 2013-06-03 17:36:02 -05:00
commit 8245bae2e4
3 changed files with 24 additions and 6 deletions

View File

@ -2487,7 +2487,6 @@ Yap_absmi(int inp)
PELOCK(9,ap);
DEC_CLREF_COUNT(cl);
// fprintf(stderr,"%d %p=%lx\n",worker_id, cl, cl->ClRefCount);
erase = (cl->ClFlags & ErasedMask) && !(cl->ClRefCount);
if (erase) {
saveregs();
@ -7824,6 +7823,24 @@ Yap_absmi(int inp)
/* restart index */
setregs();
UNLOCKPE(17,pe);
#ifdef DEBUG_LOCK
{ PredEntry *ap = pe;
if (ap->ArityOfPE) {
if ( ap->ModuleOfPred != IDB_MODULE)
printf("L9 %s\n", AtomName(NameOfFunctor(ap->FunctorOfPred)));
else
{
if (ap->PredFlags & NumberDBPredFlag) {
printf("L9 %ld\n", ap->src.IndxId);
} else if (ap->PredFlags & AtomDBPredFlag) {
printf("L9 %s\n", AtomName((Atom)(ap->FunctorOfPred)));
} else {
printf("L9 %s\n", AtomName(NameOfFunctor(ap->FunctorOfPred)));
}
}
}
}
#endif
PREG = pt0;
#if defined(YAPOR) || defined(THREADS)
if (!PP) {

View File

@ -245,12 +245,12 @@ static Int cont_between( USES_REGS1 )
Term tn;
Int cmp;
cmp = Yap_acmp(t1, t2);
cmp = Yap_acmp(t1, t2 PASS_REGS);
if (cmp == 0)
cut_succeed();
t[0] = t1;
t[1] = MkIntTerm(1);
tn = Eval(Yap_MkApplTerm(FunctorPlus, 2, t));
tn = Eval(Yap_MkApplTerm(FunctorPlus, 2, t) PASS_REGS);
EXTRA_CBACK_ARG(3,1) = tn;
HB = B->cp_h = H;
return TRUE;
@ -336,11 +336,11 @@ init_between( USES_REGS1 )
Yap_Error(TYPE_ERROR_INTEGER, t3, "between/3");
return FALSE;
}
if (Yap_acmp(t3, t1) >= 0 && Yap_acmp(t2,t3) >= 0 && P != FAILCODE)
if (Yap_acmp(t3, t1 PASS_REGS) >= 0 && Yap_acmp(t2,t3 PASS_REGS) >= 0 && P != FAILCODE)
cut_succeed();
cut_fail();
}
cmp = Yap_acmp(t1, t2);
cmp = Yap_acmp(t1, t2 PASS_REGS);
if (cmp > 0) cut_fail();
if (cmp == 0) {
Yap_unify(ARG3, t1);

View File

@ -247,6 +247,7 @@ static char SccsId[] = "@(#)rheap.c 1.3 3/15/90";
#define RestoreDBErasedMarker() RestoreDBErasedMarker__( PASS_REGS1 )
#define RestoreLogDBErasedMarker() RestoreLogDBErasedMarker__( PASS_REGS1 )
#define RestoreForeignCode() RestoreForeignCode__( PASS_REGS1 )
#define RestoreEmptyWakeups() RestoreEmptyWakeups__( PASS_REGS1 )
#define RestoreAtoms() RestoreAtoms__( PASS_REGS1 )
#define RestoreWideAtoms() RestoreWideAtoms__( PASS_REGS1 )
#define RestoreSWIBlobs() RestoreSWIBlobs__( PASS_REGS1 )
@ -548,7 +549,7 @@ RestoreDBTerm(DBTerm *dbr, int attachments USES_REGS)
/* Restoring the heap */
static void
RestoreEmptyWakeups(void)
RestoreEmptyWakeups__( USES_REGS1 )
{
int i;
for (i=0; i < MaxEmptyWakeups; i++) {