Merge branch 'master' of git.dcc.fc.up.pt:yap-6.3
This commit is contained in:
@@ -13086,7 +13086,7 @@ Yap_absmi(int inp)
|
||||
goto fail;
|
||||
}
|
||||
PP = PredMetaCall;
|
||||
SREG = (CELL *) pen;
|
||||
SREG = (CELL *) PP;
|
||||
ASP = ENV_YREG;
|
||||
if (ASP > (CELL *)PROTECT_FROZEN_B(B))
|
||||
ASP = (CELL *)PROTECT_FROZEN_B(B);
|
||||
@@ -13097,7 +13097,7 @@ Yap_absmi(int inp)
|
||||
goto creep_pe;
|
||||
}
|
||||
saveregs_and_ycache();
|
||||
if (!Yap_gc(((PredEntry *)SREG)->ArityOfPE, ENV, NEXTOP(PREG, Osbpp))) {
|
||||
if (!Yap_gc(PP->ArityOfPE, ENV, NEXTOP(PREG, Osbpp))) {
|
||||
Yap_NilError(OUT_OF_STACK_ERROR,LOCAL_ErrorMessage);
|
||||
}
|
||||
setregs_and_ycache();
|
||||
@@ -13295,7 +13295,7 @@ Yap_absmi(int inp)
|
||||
goto fail;
|
||||
}
|
||||
PP = PredMetaCall;
|
||||
SREG = (CELL *) pen;
|
||||
SREG = (CELL *) PP;
|
||||
ASP = ENV_YREG;
|
||||
if (ASP > (CELL *)PROTECT_FROZEN_B(B))
|
||||
ASP = (CELL *)PROTECT_FROZEN_B(B);
|
||||
@@ -13306,7 +13306,7 @@ Yap_absmi(int inp)
|
||||
goto creep_pe;
|
||||
}
|
||||
saveregs_and_ycache();
|
||||
if (!Yap_gc(((PredEntry *)SREG)->ArityOfPE, ENV, NEXTOP(PREG, Osbmp))) {
|
||||
if (!Yap_gc(PP->ArityOfPE, ENV, NEXTOP(PREG, Osbmp))) {
|
||||
Yap_NilError(OUT_OF_STACK_ERROR,LOCAL_ErrorMessage);
|
||||
}
|
||||
setregs_and_ycache();
|
||||
|
@@ -3953,9 +3953,10 @@ Yap_assemble(int mode, Term t, PredEntry *ap, int is_fact, struct intermediates
|
||||
if (ap->PredFlags & LogUpdatePredFlag) {
|
||||
((LogUpdClause *)(cip->code_addr))->ClSize = size;
|
||||
Yap_LUClauseSpace += size;
|
||||
} else
|
||||
} else {
|
||||
((StaticClause *)(cip->code_addr))->ClSize = size;
|
||||
Yap_ClauseSpace += size;
|
||||
}
|
||||
} else {
|
||||
if (ap->PredFlags & LogUpdatePredFlag) {
|
||||
Yap_LUIndexSpace_Tree += size;
|
||||
|
@@ -435,6 +435,8 @@ X_API Int STD_PROTO(YAP_Init,(YAP_init_args *));
|
||||
X_API Int STD_PROTO(YAP_FastInit,(char *));
|
||||
X_API PredEntry *STD_PROTO(YAP_FunctorToPred,(Functor));
|
||||
X_API PredEntry *STD_PROTO(YAP_AtomToPred,(Atom));
|
||||
X_API PredEntry *STD_PROTO(YAP_FunctorToPredInModule,(Functor, Term));
|
||||
X_API PredEntry *STD_PROTO(YAP_AtomToPredInModule,(Atom, Term));
|
||||
X_API Int STD_PROTO(YAP_CallProlog,(Term));
|
||||
X_API void *STD_PROTO(YAP_AllocSpaceFromYap,(unsigned int));
|
||||
X_API void *STD_PROTO(YAP_ReallocSpaceFromYap,(void*,unsigned int));
|
||||
@@ -2249,6 +2251,20 @@ YAP_AtomToPred(Atom at)
|
||||
return RepPredProp(PredPropByAtom(at, CurrentModule));
|
||||
}
|
||||
|
||||
X_API PredEntry *
|
||||
YAP_FunctorToPredInModule(Functor func, Term mod)
|
||||
{
|
||||
CACHE_REGS
|
||||
return RepPredProp(PredPropByFunc(func, mod));
|
||||
}
|
||||
|
||||
X_API PredEntry *
|
||||
YAP_AtomToPredInModule(Atom at, Term mod)
|
||||
{
|
||||
CACHE_REGS
|
||||
return RepPredProp(PredPropByAtom(at, mod));
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
run_emulator(YAP_dogoalinfo *dgi)
|
||||
|
Reference in New Issue
Block a user