5.1:
- improvements to GC 2 generations generic speedups - new scheme for attvars - hProlog like interface also supported - SWI compatibility layer - extra predicates - global variables - moved to Prolog module - CLP(R) by Leslie De Koninck, Tom Schrijvers, Cristian Holzbaur, Bart Demoen and Jan Wielemacker - load_files/2 from 5.0.1 - WIN32 missing include files (untested) - -L trouble (my thanks to Takeyuchi Shiramoto-san)! - debugging of backtrable user-C preds would core dump. - redeclaring a C-predicate as Prolog core dumps. - badly protected YapInterface.h. - break/0 was failing at exit. - YAP_cut_fail and YAP_cut_succeed were different from manual. - tracing through data-bases could core dump. - cut could break on very large computations. - first pass at BigNum issues (reported by Roberto). - debugger could get go awol after fail port. - weird message on wrong debugger option. git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1402 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
10
C/exec.c
10
C/exec.c
@@ -253,10 +253,11 @@ p_execute_clause(void)
|
||||
{ /* '$execute_clause'(Goal) */
|
||||
Term t = Deref(ARG1);
|
||||
Term mod = Deref(ARG2);
|
||||
StaticClause *cl = Yap_ClauseFromTerm(Deref(ARG3));
|
||||
choiceptr cp = cp_from_integer(Deref(ARG4));
|
||||
unsigned int arity;
|
||||
Prop pe;
|
||||
yamop *code;
|
||||
Term clt = Deref(ARG3);
|
||||
|
||||
restart_exec:
|
||||
if (IsVarTerm(t)) {
|
||||
@@ -303,7 +304,12 @@ p_execute_clause(void)
|
||||
}
|
||||
/* N = arity; */
|
||||
/* call may not define new system predicates!! */
|
||||
return CallPredicate(RepPredProp(pe), cp, cl->ClCode);
|
||||
if (RepPredProp(pe)->PredFlags & MegaClausePredFlag) {
|
||||
code = Yap_MegaClauseFromTerm(clt);
|
||||
} else {
|
||||
code = Yap_ClauseFromTerm(clt)->ClCode;
|
||||
}
|
||||
return CallPredicate(RepPredProp(pe), cp, code);
|
||||
}
|
||||
|
||||
static Int
|
||||
|
Reference in New Issue
Block a user