fix bad messup with program counter (obs from Ingo Molnar).q
This commit is contained in:
parent
3e6ce40eb1
commit
ace9025c10
@ -7563,12 +7563,17 @@ Yap_absmi(int inp)
|
||||
}
|
||||
/* for slots to work */
|
||||
#endif /* FROZEN_STACKS */
|
||||
{
|
||||
/* make sure that we can still have access to our old PREG after calling user defined goals and backtracking or failing */
|
||||
yamop *savedP;
|
||||
|
||||
Yap_StartSlots();
|
||||
Yap_PrologMode = UserCCallMode;
|
||||
{
|
||||
PredEntry *p = PREG->u.Osbpp.p;
|
||||
|
||||
PREG = NEXTOP(PREG, Osbpp);
|
||||
savedP = PREG;
|
||||
saveregs();
|
||||
save_machine_regs();
|
||||
|
||||
@ -7578,6 +7583,8 @@ Yap_absmi(int inp)
|
||||
setregs();
|
||||
Yap_PrologMode = UserMode;
|
||||
restore_machine_regs();
|
||||
PREG = savedP;
|
||||
}
|
||||
if (EX) {
|
||||
struct DB_TERM *exp = EX;
|
||||
EX = NULL;
|
||||
|
Reference in New Issue
Block a user