improve PP on threaded version

This commit is contained in:
Vítor Manuel de Morais Santos Costa 2010-01-26 11:40:32 +00:00
parent a7c1e9afba
commit 4d54ea4c92
1 changed files with 12 additions and 0 deletions

View File

@ -1058,6 +1058,9 @@ Yap_absmi(int inp)
LOCK(PREG->u.OtaLl.d->ClPred->StatisticsForPred.lock);
PREG->u.OtaLl.d->ClPred->StatisticsForPred.NOfRetries++;
UNLOCK(PREG->u.OtaLl.d->ClPred->StatisticsForPred.lock);
#ifdef THREADS
PP = PREG->u.OtaLl.d->ClPred;
#endif
PREG = PREG->u.OtaLl.d->ClCode;
#ifdef FROZEN_STACKS
S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG);
@ -1342,6 +1345,9 @@ Yap_absmi(int inp)
LOCK(PREG->u.OtaLl.d->ClPred->StatisticsForPred.lock);
PREG->u.OtaLl.d->ClPred->StatisticsForPred.NOfRetries++;
UNLOCK(PREG->u.OtaLl.d->ClPred->StatisticsForPred.lock);
#ifdef THREADS
PP = PREG->u.OtaLl.d->ClPred;
#endif
PREG = PREG->u.OtaLl.d->ClCode;
#ifdef FROZEN_STACKS
S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG);
@ -8403,6 +8409,9 @@ Yap_absmi(int inp)
B = B_YREG;
#ifdef YAPOR
SCH_set_load(B_YREG);
#endif /* YAPOR */
#ifdef YAPOR
PP = PREG->u.OtaLl.d->ClPred;
#endif /* YAPOR */
if (!VALID_TIMESTAMP(timestamp, PREG->u.OtaLl.d)) {
/* jump to next alternative */
@ -8437,6 +8446,9 @@ Yap_absmi(int inp)
}
restore_yaam_regs(PREG->u.OtaLl.n);
restore_at_least_one_arg(PREG->u.OtaLl.s);
#ifdef THREADS
PP = PREG->u.OtaLl.d->ClPred;
#endif
PREG = PREG->u.OtaLl.d->ClCode;
#ifdef FROZEN_STACKS
S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG);