- 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:
vsc
2005-10-18 17:04:43 +00:00
parent cf655a6a9b
commit e6a15addf5
23 changed files with 700 additions and 482 deletions

View File

@@ -354,17 +354,21 @@ debugging :-
'$loop_spy2'(GoalNumber, G, Module, InControl) :-
/* the following choice point is where the predicate is called */
(
/* call port */
'$enter_goal'(GoalNumber, G, Module),
'$spycall'(G, Module, InControl),
/* go execute the predicate */
(
'$do_not_creep',
'$show_trace'(exit,G,Module,GoalNumber), /* output message at exit */
'$continue_debugging'(InControl)
'$show_trace'(exit,G,Module,GoalNumber), /* output
message at exit */
/* exit port */
'$continue_debugging'
;
/* exit */
/* backtracking from exit */
/* we get here when we want to redo a goal */
'$do_not_creep',
/* redo port */
'$show_trace'(redo,G,Module,GoalNumber), /* inform user_error */
'$continue_debugging'(InControl,G,Module),
fail /* to backtrack to spycalls */
@@ -372,7 +376,8 @@ debugging :-
;
'$do_not_creep',
'$show_trace'(fail,G,Module,GoalNumber), /* inform at fail port */
'$continue_debugging'(InControl,G,Module),
'$continue_debugging',
/* fail port */
fail
).
@@ -411,7 +416,7 @@ debugging :-
'$execute_nonstop'(G, M).
'$spycall'(G, M, InControl) :-
'$flags'(G,M,F,F),
F /\ 0x8402000 =\= 0, !, % dynamic procedure, logical semantics, or source
F /\ 0x18402000 =\= 0, !, % dynamic procedure, logical semantics, or source
% use the interpreter
CP is '$last_choice_pt',
'$clause'(G, M, Cl),
@@ -580,12 +585,12 @@ debugging :-
'$system_predicate'(G,M), !,
( '$access_yap_flags'(10,1) -> '$late_creep' ; true).
'$continue_debugging'(Flag,_,_) :-
'$continue_debugging'(Flag).
'$continue_debugging'.
'$continue_debugging'(_) :-
'$continue_debugging' :-
'$access_yap_flags'(10,1), !,
'$creep'.
'$continue_debugging'(_).
'$continue_debugging'.
'$action_help' :-
format(user_error,"newline creep a abort~n", []),