fix bad call to garbage collector.
This commit is contained in:
parent
04a6911b9f
commit
0424bf6403
@ -1683,7 +1683,6 @@ Yap_absmi(int inp)
|
|||||||
{
|
{
|
||||||
Int sz = PREG->u.Osbpi.i;
|
Int sz = PREG->u.Osbpi.i;
|
||||||
UInt arity = PREG->u.Osbpi.p->ArityOfPE;
|
UInt arity = PREG->u.Osbpi.p->ArityOfPE;
|
||||||
PREG = NEXTOP(PREG,Osbpi);
|
|
||||||
if (Unsigned(H) + sz > Unsigned(YREG)-CreepFlag) {
|
if (Unsigned(H) + sz > Unsigned(YREG)-CreepFlag) {
|
||||||
YENV[E_CP] = (CELL) CPREG;
|
YENV[E_CP] = (CELL) CPREG;
|
||||||
YENV[E_E] = (CELL) ENV;
|
YENV[E_E] = (CELL) ENV;
|
||||||
@ -1691,6 +1690,7 @@ Yap_absmi(int inp)
|
|||||||
YENV[E_DEPTH] = DEPTH;
|
YENV[E_DEPTH] = DEPTH;
|
||||||
#endif /* DEPTH_LIMIT */
|
#endif /* DEPTH_LIMIT */
|
||||||
SET_ASP(YREG, PREG->u.Osbpi.s);
|
SET_ASP(YREG, PREG->u.Osbpi.s);
|
||||||
|
PREG = NEXTOP(PREG,Osbpi);
|
||||||
saveregs();
|
saveregs();
|
||||||
if (!Yap_gcl(sz, arity, YENV, PREG)) {
|
if (!Yap_gcl(sz, arity, YENV, PREG)) {
|
||||||
Yap_Error(OUT_OF_STACK_ERROR,TermNil,LOCAL_ErrorMessage);
|
Yap_Error(OUT_OF_STACK_ERROR,TermNil,LOCAL_ErrorMessage);
|
||||||
@ -1699,7 +1699,9 @@ Yap_absmi(int inp)
|
|||||||
} else {
|
} else {
|
||||||
setregs();
|
setregs();
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
|
PREG = NEXTOP(PREG,Osbpi);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
JMPNext();
|
JMPNext();
|
||||||
ENDBOp();
|
ENDBOp();
|
||||||
|
Reference in New Issue
Block a user