Commit Graph

505 Commits

Author SHA1 Message Date
Vítor Santos Costa
4eeb977c2c fix backtracking from generators to dynamic predicates. 2011-04-22 12:20:52 +01:00
Vítor Santos Costa
a7079bd770 don't reset frozen refernces to clauses. 2011-04-16 00:31:25 +01:00
Vítor Santos Costa
8fb8aec9bf MULTIPLE_STACKS - or-parallelism/threads/tabling
YAPOR_THREADS - threads with or-parallelism
make tabling require reference counting for dynamic predicates.
2011-04-14 18:51:11 +01:00
Joao
3e148c3541 change define SBA to YAPOR_SBA 2011-03-30 15:32:59 +01:00
Joao
f890a11377 change macros GLOBAL to Yap 2011-03-29 18:19:18 +01:00
Vítor Santos Costa
0d8aed7971 new implementation of corourining... 2011-03-18 19:34:58 +00:00
Vítor Santos Costa
2a76f86785 don't lock ThreadLocal predicates. 2011-03-15 09:08:09 +00:00
Vítor Santos Costa
5bea35d13e fix bug in entering garbage collector (bad PP). 2011-03-11 19:47:21 +00:00
Vítor Santos Costa
90d93fdbdd cache abstra machine register in threaded mode. 2011-03-07 16:02:55 +00:00
Vitor Santos Costa
4a5ba35937 assembly fixes
more support for readline, including getting more stuff from read.
2011-02-17 00:57:49 +00:00
Vítor Santos Costa
a40987b70d ifixes to support 64 bits:
- protect registers before calling prune()
- use Int, not int.
2011-02-15 18:14:18 +00:00
ubu32
67d23051c2 fix pruning to handle backtrackable C-predicates in a much nicer way. 2011-02-14 11:29:20 -08:00
ubu32
1717b113b3 cut should know about environment size. 2011-02-14 06:57:16 -08:00
Vitor Santos Costa
26706d20ff make SREG YENV before calling heapgc in absmi. 2011-01-20 11:53:00 -06:00
Vitor Santos Costa
aa1756c952 undo change until I can wake up goals before cut safely. 2010-12-31 12:01:10 -06:00
Vitor Santos Costa
d64af810da force wakeups before ! 2010-12-29 09:29:42 -06:00
Vítor Santos Costa
cede94f6d2 creeping should not prevent wake ups. 2010-12-19 13:52:42 +00:00
Vítor Santos Costa
cfe0dda995 more bigint and dbterm fixes. 2010-12-16 22:21:46 +00:00
Vítor Santos Costa
5a2d908489 fix restore of instructions that manipulate bigints or db terms. 2010-12-16 20:39:53 +00:00
Vítor Santos Costa
21bbffceda make sure we rebuild saved state stuff even if we do not actually enter top-level.
fix bug with some definitions being reset at load time.
2010-12-07 15:06:53 +00:00
Vitor Santos Costa
8290341a5f fix typo 2010-12-05 00:07:22 +00:00
Vítor Santos Costa
8db05c883b make sure we separate betwen async exceptions and synchroneous. 2010-12-04 19:05:13 +00:00
Vítor Santos Costa
c6f41e2970 YAP_FAIL_ERROR in case a fail has been requested, but not accepetd yet. 2010-12-04 18:45:09 +00:00
Vitor Santos Costa
755a57fdbd Merge branch 'master' of yap.dcc.fc.up.pt:yap-6
Conflicts:
	C/absmi.c
2010-10-12 23:22:23 +01:00
Vitor Santos Costa
80c38081da no need for special procceed instruction. 2010-10-12 22:02:51 +01:00
Vítor Santos Costa
3e6309cc8a fix trace problem 2010-10-11 20:10:12 +01:00
Vitor Santos Costa
e5232bc8fc force system to check for overflows at end of procceed for clauses with body. 2010-10-11 14:45:15 +01:00
Vitor Santos Costa
9187c658b8 fix very large clause handling 2010-10-08 10:45:50 +01:00
Vítor Santos Costa
e968fe21dd fix bad call to gc when finding very large terms. 2010-09-30 20:09:17 +01:00
Vitor Santos Costa
ace9025c10 fix bad messup with program counter (obs from Ingo Molnar).q 2010-08-17 13:02:50 +01:00
Vítor Santos Costa
ffc094e25f make sure we have enough room before we enter a clause. 2010-08-02 18:20:03 +01:00
Vitor Santos Costa
3d6e223dae support for space reservation (goal: call gc before trying to insert very large terms). 2010-08-02 13:04:30 +01:00
Vitor Santos Costa
ccb7991a56 should not use PP for thread private
more lock tracing aids.
2010-07-28 11:26:20 +01:00
Vítor Santos Costa
e031026a62 instrument PE locking
fix missing unlock in index_pred (if predicate had been indexed while we were
waiting).
2010-07-25 11:22:16 +01:00
Vítor Santos Costa
3dd68aa8bd fix EX: it cannot be a term and it should be a placeholder for BallTerm,
so the twp can never be alive at the same time.
2010-07-21 12:49:06 +01:00
Vitor Santos Costa
a46d6dc9eb fix bad recent patch. 2010-07-20 11:28:56 +01:00
Vitor Santos Costa
834e3ed5d0 make arg/3 compatible with SWI for atomic argument (fail silently). 2010-07-19 14:38:17 +01:00
Vítor Santos Costa
ecce575a0a fix stack calculation (ricardo rocha) 2010-07-06 15:31:17 +01:00
Vítor Santos Costa
247d59f0ef - slots should be considered as always live for gc.
- make sure slots do not die when they should be live, and vice-versa.
- improve a little on foreign_frame
2010-06-01 00:40:58 +01:00
Vítor Santos Costa
ae2421951b fix comparison between terms when rationals come up. 2010-05-28 12:07:01 +01:00
Vitor Santos Costa
fd9f4efe0b fix indexing of bignums (obs from Jos de Roo). 2010-05-14 12:42:30 +01:00
Vitor Santos Costa
c2f84c9e28 fix unify_dbterm. 2010-05-13 00:04:56 +01:00
Vitor Santos Costa
924e614857 fix related instructions. 2010-05-12 23:54:06 +01:00
Vitor Santos Costa
45fac6d7b5 fix bug in unify_bigint (obs from Jos de Roo). 2010-05-12 23:48:37 +01:00
Vítor Santos Costa
be2a3a635e L constants are evil in 64 bits 2010-05-11 12:25:49 +01:00
Vítor Santos Costa II
ba996c8dd5 fix bad call to low_level_tracer. 2010-05-03 16:34:20 +01:00
Ricardo Rocha
e122f2ca8d Global trie support: atomic terms (vars, integers and atoms) are now stored
in the local tries (and not in the global trie). This required major changes
to the trie instructions in order to unify the use of the auxiliary stack
organization for the terms in the local tries and in the global trie.
2010-04-15 01:09:59 +01:00
Vítor Santos Costa II
d524dd542d test could access unused memory. 2010-04-09 18:07:45 +01:00
Vitor Santos Costa
d5e1ff38f4 new interface to access globals. They are not in a file called GLOBALS, from which
we generate several files automatically.
2010-03-21 22:12:42 +00:00
Vitor Santos Costa
81635b48fb use isattvar 2010-03-08 09:17:40 +00:00
Vitor Santos Costa
3070e4ce9d fix locking issues with dynamic predicates and threads (obs from Paulo Moura). 2010-03-03 22:11:50 +00:00
Vítor Santos Costa
692a482adf fix gc call while in meta-call. 2010-02-19 15:37:36 +00:00
Vitor Santos Costa
3b4bb45c62 fix error handling in builtin arithmetic (obs from Jose Santos). 2010-02-18 10:56:59 +00:00
Vítor Manuel de Morais Santos Costa
4d341f2aab fix bad call to gc (obs from Jose Santos). 2010-01-29 15:21:00 +00:00
Vítor Manuel de Morais Santos Costa
bcc4a27206 cut_succeed and cut_fail should recover pool of try_c and should
do trim_trail (not that the latter really matters).
2010-01-26 18:03:09 +00:00
Vítor Manuel de Morais Santos Costa
b0ea945ebc Merge branch 'master' of gitosis@yap.dcc.fc.up.pt:yap-6 2010-01-26 11:40:47 +00:00
Vítor Manuel de Morais Santos Costa
4d54ea4c92 improve PP on threaded version 2010-01-26 11:40:32 +00:00
Vitor Santos Costa
ce3a193ae7 fix forgotten unlocks. 2010-01-25 09:01:04 +00:00
Vítor Manuel de Morais Santos Costa
5ef31fbfd2 experiment in or-parallel threads. 2010-01-14 15:58:19 +00:00
Vitor Santos Costa
df2b11a6ec define Optype for xxc, for instructions whose constant argument is a term, like functor(a,X,T). 2009-12-06 00:37:48 +00:00
Vítor Manuel de Morais Santos Costa
d746afaa32 UserCode may changed YENV, so be careful, be very careful! (obs from Nuno Fonseca). 2009-11-27 13:14:30 +00:00
Vítor Manuel de Morais Santos Costa
b5ad71c9c1 improve functor tracing 2009-11-10 11:25:39 +00:00
Vítor Manuel de Morais Santos Costa
2fdf8e9bda fix bad ! register when calling continuation of meta-predicate (obs from A Kimmig). 2009-11-03 23:17:06 +00:00
Costa Vitor
418fa1a396 64 bit machines may be using S while calling ExpandIndex. 2009-08-19 20:22:04 -05:00
Ricardo Rocha
fc31e7066e improve the support for deterministic tabling (still experimental,
problems mainly with the garbage collector)
2009-08-07 17:29:53 +01:00
Costa Vitor
66683aeef9 slots were not inited in tabling code, due to bad ifdef (obs from Chris Mungall). 2009-07-17 18:39:50 -05:00
Ricardo Rocha
5e4d7078ab support for trie compact lists (version 2): this new version uses
different marks to distinguish the lists ending with the empty list
from the lists ending with a non-empty list term.
2009-07-05 05:14:08 +01:00
Costa Vitor
026a666055 trail check on C entry: make sure we don't have unhandled trail overflows. 2009-06-26 14:08:15 -05:00
Costa Vitor
772d091a70 fix bad call to retry_counter 2009-06-26 13:16:42 -05:00
Costa Vitor
246d32551a do not set PREG until being sure we have to jump 2009-06-23 06:50:53 -05:00
Costa Vitor
d47560342c more fixes to call_counter: try to keep on counting system builtins. 2009-06-22 12:40:55 -05:00
Costa Vitor
50f7a80546 transfer call and profiler to spy. 2009-06-22 11:12:56 -05:00
Costa Vitor
53fa330d90 always use YREG, not YENV, in case we have enough registers. 2009-06-16 21:20:35 -05:00
Vitor Santos Costa
95f28228f6 - separate user_try and user_retry
- make sure we have slots inited in retrying user C code.
2009-06-01 15:30:22 -05:00
Vitor Santos Costa
e84ecf2eaf fix #37: give resource error if trying to create a functor with bignum arity
also, allow meta-call to create large functors > Int.
2009-05-29 22:34:50 -05:00
Costa Vitor
c00facdd17 exception at fail could loop with bad env. #59 2009-05-22 19:43:17 -05:00
Costa Vitor
8fcc534a19 fix bad error propagation in term comparison #53 2009-05-22 18:44:05 -05:00
Vitor Santos Costa
8e7695a42c make Yap_Eval only on entry. 2009-05-16 22:41:44 -07:00
Vitor Santos Costa
61973a2be6 be careful: error handling may have changed PC in call_c_with_fail! 2009-05-09 23:40:17 -04:00
Vitor Santos Costa
f53c741d96 improve low-level tracer. 2009-05-09 23:30:20 -04:00
Vitor Santos Costa
35c1cb6338 put future environment when waking up goals before failure. 2009-05-04 18:11:43 -05:00
Vitor Santos Costa
2016e118b3 Ulrich Neumerkel's patch so that variables are declared in front of a block. 2009-05-02 10:54:09 -05:00
Vitor Santos Costa
8275f2232c fix handling of multiassignment variables with tabling;
fix bad overflow handling when copying terms from tries.
2009-05-01 11:53:59 -05:00
Vitor Santos Costa
c92765d962 SREG and S could be different; also S might be in use if there is an
overflow and the index code is jumping to the middle.
2009-04-18 15:22:51 -05:00
Vitor Santos Costa
7e98e5acdb fix another internal deadlock. 2009-04-17 14:17:43 -05:00
Vitor Santos Costa
9624026beb locking fixes. 2009-04-16 11:19:26 -05:00
Vitor Santos Costa
b2ad3bd000 first cut at Anderson's JIT code. 2009-04-07 23:55:16 +01:00
Vitor Santos Costa
5c2e5c524b recognise exceptions within comparisons. 2009-03-26 00:37:57 +00:00
Vitor Santos Costa
828964c3c1 remove optimised arithmetic instructions. They made the emulator even bigger than
usual, and they were not performing.
2009-03-09 11:52:01 +00:00
Vitor Santos Costa
afd979a246 improve substantially handling of soft disjunctions. 2009-03-05 16:12:21 +00:00
Vitor Santos Costa
15b86cded4 new merged instructions and small changes to the emulator. 2009-03-03 10:04:13 +00:00
Vitor Santos Costa
a000af113b OSX portability updates
start of support for commons prolog initiative
2009-02-16 12:25:03 +00:00
Vítor Santos Costa
8a6e0acedc compiler support for udi including user_index instruction 2009-02-12 21:35:31 +00:00
Vitor Santos Costa
8a3978e3e1 rename BinaryTestPredFlag to BinaryPredFlag
get rid of small annoying arithmetic bugs
2009-02-09 21:56:40 +00:00
Vítor Santos Costa
a8ac9bfb43 generate known atoms and functors automatically 2008-12-23 01:53:52 +00:00
Vítor Santos Costa
a36be5bf20 massive changes to support new scheme for arithmetic:
- compilation and assembly support
2008-12-09 12:54:27 +00:00
Vítor Santos Costa
e737599dc4 Change to simpler Eval mechanism
- avoid duplicate code
- implement different optimised code.
2008-12-04 23:33:32 +00:00
Vítor Santos de Costa
681d0f186d fix bad type for p_number_y 2008-10-07 22:00:38 +01:00
Vítor Santos Costa
e252ef0b2f more debugger fixes!
- make sure donotrace and oncenotrace are known to the signal mechanism:
they should disable creeping
- avoid creep at deallocate: it is a very bad idea :(
2008-09-23 23:43:01 +01:00
Vítor Santos Costa
fdf762e326 push changes to make tabling work: don't ignore tabling and yapor fields
in optype.
2008-09-05 05:22:19 +01:00
Vítor Santos Costa
6046f9f913 more fixes to debugger: make l and s option do what they are supposed to
do.
fix k and t, they had been broken.
Ideas:
DebugOn is now in the system and can disable spypoints.
Have an extra flag to distinguish fast (t,z,k) and slow(l,s) jumping.
2008-09-02 03:48:02 +01:00
Vítor Santos Costa
b2d9eb7aac instructions xyc really has optype xyn. 2008-08-30 23:00:50 +01:00
Vitor Santos Costa
2a84e259a2 Upgrade to new CHR (with Jan's changes).
Found out I need to add an extra field to allocate so that the
exception handling code knows where the clause is.
Protect creep_allowed from NULL pointers.
2008-08-30 16:24:44 +01:00
Vítor Santos Costa
1226b58d8e The debugger relied on the environment stack. To fix it:
- absmi.c now tells who called the debugger, besides who it was calling
- this is used to control whether we allow a goal to be debugged.
- I have creep to start creeping immediately, and signal_creep to tell
  the next meta-call to creep what it executes!
- The debugger uses CalledFromTheDebugger to know if it is within the
debugger. If so, we do not need to creep on leaving.
2008-08-30 02:39:36 +01:00
Vitor Santos Costa
d636450512 more fixes to make rclause.h automatic:
define new type n for Integers, as they were mistaken for Term.
 define early return cases and ifdef exceptions.
2008-08-29 17:27:11 +01:00
Vítor Santos Costa
17ba194c1e Include new instruction execute_cpred to perform tail optimisation for
builtins. Required changes:
- be careful about creeping in deallocate: it may be followed by
something that is not a cut nor a proceed.
- include new instruction in absmi.c: it is a merge of execute and
call_cpred.
- change compiler to generate execute even for C builtins.
- be careful with dexecute: it may not be done if execute_op is a C
builtin.
- if we are in execute_cpred, the garbage collector cannot trust P:
instead it must look at CP to find out the size of the current
environment. The macro gc_P receives that information.
- We don't need to change CP if we do a meta-call from within
execute_cpred (and we in fact cannot). Check places where we do
meta-calls: exec, clause in cdmgr, and lu_recorded.
2008-08-28 04:43:00 +01:00
Vítor Santos Costa
f499115573 redo lost updates 2008-08-21 13:38:25 +01:00
vsc
16d0f2e749 fix TopLevelGoal to handle correctly undefined predicates. Make sure that
undefined predicated will not force the boot process to loop.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2310 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-19 13:33:45 +00:00
vsc
7db64c5e1c more locking fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2306 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-13 01:16:26 +00:00
vsc
d170b34624 MaxOS fixes
Avoid a thread deadlock
improvements to SWI predicates.
make variables_in_term system builtin.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2304 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-12 01:27:23 +00:00
vsc
2581c3a3bf more threadin fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2300 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-07 20:51:23 +00:00
vsc
6d23a23a81 fix debugging info
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2299 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-06 23:05:49 +00:00
vsc
85d7d39dbf more thread fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2297 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-06 17:32:22 +00:00
vsc
39c4a2e67f fix c_interface not to crash when people try to recover slots that are
not there.
fix try_logical and friends to handle case where predicate has arity 0.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2278 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-17 13:37:51 +00:00
vsc
175a0ba6dd make sure we do trim_trail whenever we mess with B!
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2258 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-04 14:47:18 +00:00
vsc
6da72b2c9f yapor had gotten broken with recent thread changes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2210 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-04 16:11:40 +00:00
vsc
78d7105c16 protect signal handling with locks for threaded version.
fix close/1 entry in manual (obs from Nicos).
fix -f option in chr Makefile.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2201 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-03 13:26:38 +00:00
vsc
92d26f604e term_variables could store local variable in global.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2199 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-03 10:50:28 +00:00
vsc
5a88dc6333 more icc fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2166 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-26 14:37:08 +00:00
vsc
b2274186bd make or-parallelism compile again
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2164 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-25 16:45:53 +00:00
vsc
af0fb4f4d9 SWI-portability changes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2088 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-02-12 17:03:59 +00:00
vsc
ff8213e506 make thread code more stable
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2063 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-01-27 11:01:07 +00:00
vsc
637f381d94 valgrind it!
enable atom garbage collection.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2055 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-01-23 17:57:56 +00:00
vsc
1bd96722de junction tree algorithm
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2031 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-11-28 23:52:14 +00:00
vsc
3beda27d14 fixes to support threads and assert correctly, even if inefficiently.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2030 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-11-26 23:43:10 +00:00
vsc
7b6c96e3d7 fix some bugs in new dbterm code.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1986 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-11-08 15:52:15 +00:00
vsc
42048570f3 speedup meta-calls
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1976 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-11-07 09:25:27 +00:00
vsc
a5f5f4c237 compile ground terms away.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1975 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-11-06 17:02:13 +00:00
vsc
22c5632a53 fix overflow
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1969 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-10-28 11:23:41 +00:00
vsc
9e9c260f7e new version of viterbi implementation
fix all:atvars reporting bad info
fix bad S info in x86_64


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1968 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-10-28 00:54:09 +00:00
vsc
d316ddeb2a growtrail assumed SREG meant ASP?
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1961 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-10-17 09:18:27 +00:00
vsc
ec2a3ab3b5 minor bug fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1934 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-09-24 09:02:33 +00:00
vsc
9c232ddd0b interface speedups
bad error message in X is foo>>2.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1894 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-06-04 12:28:02 +00:00
vsc
b15193885e fix bug in saving P at p_eq (obs from Frabrizio Riguzzi)
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1872 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-05-01 21:18:19 +00:00
vsc
67738fbbd1 fix max modules limitation
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1865 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-04-10 22:13:21 +00:00
vsc
e27d2fa1f3 fix memory expansion bugs.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1852 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-03-21 18:32:50 +00:00
vsc
d2f974d292 fix glist_void_varx
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1777 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-01-24 09:57:25 +00:00
vsc
88f51c97d7 fix some bugs in call_cleanup: the result of action should not matter,
and !,fail would not wakeup the delayed goal.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1754 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-12-31 01:50:35 +00:00
vsc
7d1b20c9cd call_cleanup/2 and 3
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1750 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-12-30 03:25:47 +00:00
vsc
c79a7a5bdb allow coroutining plus tabling, this means fixing some trouble with the
gc and a bug in global variable handling.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1745 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-12-29 01:57:50 +00:00
vsc
78b52b925c diverse fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1738 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-12-27 01:32:38 +00:00
vsc
e43560a7ea fix bug in threaded implementation
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1726 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-11-28 00:46:28 +00:00
vsc
0705ca0640 support for UNICODE, and other bug fixes.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1725 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-11-27 17:42:03 +00:00
vsc
0a21ac1b71 fix I/O mess
fix spy/reconsult mess


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1724 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-11-21 16:21:33 +00:00
vsc
29642223bb fixes for indexing code.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1719 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-11-15 00:13:37 +00:00
vsc
776262bc9b fix emulation of trust_logical
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1708 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-10-25 02:31:07 +00:00
vsc
cb34dbdc88 index.c implementation of trust_logical was decrementing the wrong
cp_tr


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1706 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-10-18 13:47:32 +00:00
vsc
d3dab0f5a1 fix memory leak
fix overflow handling
VS: ----------------------------------------------------------------------


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1702 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-10-11 14:53:57 +00:00
vsc
a6365ffdea fix new indexing code to actually recover space
fix predicate info to work for LUs


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1701 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-10-10 20:21:42 +00:00
vsc
13080439a6 small fixes on threaded implementation.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1700 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-10-10 14:08:17 +00:00
vsc
47a621d236 make GMPless version compile.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1696 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-09-28 16:15:54 +00:00
vsc
4ff41f7a62 improve indexing on floats
fix sending large lists to DB


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1692 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-09-20 20:03:51 +00:00
vsc
0f714371e5 fix garbage collector not to try to garbage collect when we ask for large
chunks of stack in a single go.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1684 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-08-07 18:51:44 +00:00
vsc
00d12106d0 make chr work and other minor fixes.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1648 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-05-24 02:35:39 +00:00
rslopes
87a481ca45 *** empty log message ***
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1612 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-04-27 14:13:24 +00:00
rslopes
f116d8b854 fix needed by the EAM engine
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1596 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-04-12 17:14:58 +00:00
rslopes
1c6cb0e8cf small fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1595 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-04-12 15:51:23 +00:00
vsc
79c0a8cc27 fix nasty variable shunting bug in garbage collector :-(:wq
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1583 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-03-30 01:11:10 +00:00
rslopes
f8360b6016 New update to BEAM engine.
BEAM now uses YAP Indexing (JITI)


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1578 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-03-24 17:13:41 +00:00
vsc
b8e524424c fix MacOSX interrupt handling
fix using Yap files as Yap scripts.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1555 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-03-03 23:11:30 +00:00
vsc
9e697d5bee bignum support fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1531 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-02-01 13:28:57 +00:00
vsc
7fa3e86284 avoid compilation issues with lack of gmp (Remko Troncon)
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1528 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-01-26 19:13:24 +00:00
vsc
745fed2679 avoid sideffects from MkBigInt
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1524 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-01-18 15:34:54 +00:00
vsc
9618c90255 YENV may be an HW register (breaks some tabling code)
All YAAM instructions are now brackedted, so Op introduced an { and EndOp introduces an }. This is because Ricardo assumes that.
Fix attvars when COROUTING is undefined.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1516 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-01-17 14:10:42 +00:00
vsc
e10213929a support new interface between YAP and GMP, so that we don't rely on our own
allocation routines.
Several big fixes.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1490 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-01-02 02:16:19 +00:00
vsc
f5002fa37f updates to gprof
support for __POWER__
Try to saveregs before longjmp.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1485 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-12-23 00:20:14 +00:00
vsc
60d79804fe major changes to support online event-based profiling
improve error discovery and restart on scanner.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1477 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-12-17 03:25:39 +00:00
vsc
5c2e06ad50 write_depth/3
overflow handlings and garbage collection
Several ipdates to CLPBN
dif/2 could be broken in the presence of attributed variables.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1474 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-12-05 17:16:12 +00:00
vsc
4157f2ce61 improvements to debugger
overflow fixes
reading attvars from DB was broken.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1472 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-11-26 02:57:25 +00:00
vsc
10ae3840c9 fix several bugs in save/restore.b
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1467 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-11-23 03:01:33 +00:00
tiagosoares
83b5a160f8 support for executing c code when a cut occurs
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1463 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-11-18 18:52:41 +00:00
vsc
5680364300 fixes for stack expansion and garbage collection under tabling.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1456 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-11-15 00:50:49 +00:00
vsc
5b4773d923 fix bugs in garbage collection of tabling.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1444 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-11-07 15:35:47 +00:00
vsc
7aef2d7426 get rid of unnecessary ^ in setof
Found bug in comparisons


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1442 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-11-05 03:02:33 +00:00
vsc
934b4edb9e absmi should PREG, never P!!
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1440 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-11-04 15:39:14 +00:00
vsc
1fa46c6051 sveral updates
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1415 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-10-28 17:38:50 +00:00
vsc
e6a15addf5 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
2005-10-18 17:04:43 +00:00
rslopes
cf655a6a9b enable profiling on amd64
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1401 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-10-15 17:05:23 +00:00
vsc
03ba05f24a a new and hopefully much better implementation of atts.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1392 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-09-09 17:24:39 +00:00
rslopes
030d16c40f BEAM for YAP update...
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1385 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-09-08 22:06:45 +00:00
ricroc
4eccad5e06 TABLING FIX: support for incomplete tables
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1360 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-08-12 17:00:00 +00:00
vsc
ab97812ec7 first steps to allow mavars with tabling
fix trailing for tabling with multiple get_cons


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1356 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-08-05 14:55:03 +00:00
ricroc
34b2a0df4f TABLING NEW: support to limit the table space size
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1355 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-08-04 15:45:56 +00:00
vsc
b8f1beec74 fix debugger to do well nonsource predicates.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1354 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-08-02 03:09:52 +00:00
ricroc
b36b836820 TABLING NEW: better support for incomplete tabling
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1351 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-08-01 15:40:39 +00:00
ricroc
3a93e0e079 TABLING: answers for completed calls can now be obtained by loading (new option) or executing (default) them from the trie data structure.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1342 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-07-06 19:34:12 +00:00
vsc
6979a873cc improvements to compiler: merged instructions and fixes for ->
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1338 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-07-06 15:10:18 +00:00
ricroc
3d8c03f3c9 long int support for tabling
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1327 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-06-04 07:28:24 +00:00
ricroc
7f87e89910 float support for tabling
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1324 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-06-03 08:26:32 +00:00
vsc
7af3eafd12 == and \= should not need a choice-point in ->
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1321 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-06-01 20:25:23 +00:00
vsc
aff5df7760 get_rid of try_me?, retry_me? and trust_me? instructions: they are not
significantly used nowadays.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1319 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-06-01 14:02:52 +00:00
vsc
e6de26a000 fix warning
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1295 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-05-26 18:07:32 +00:00
vsc
056ccbc819 bug fixes, I hope!
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1270 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-04-10 04:01:15 +00:00
ricroc
de17f5cca4 Adding tabling support for mixed strategy evaluation (batched and local scheduling)
UPDATE: compilation flags -DTABLING_BATCHED_SCHEDULING and -DTABLING_LOCAL_SCHEDULING removed. To support tabling use -DTABLING in the Makefile or --enable-tabling in configure.
  NEW: yap_flag(tabling_mode,MODE) changes the tabling execution mode of all tabled predicates to MODE (batched, local or default).
  NEW: tabling_mode(PRED,MODE) changes the default tabling execution mode of predicate PRED to MODE (batched or local).


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1268 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-04-07 17:56:58 +00:00
vsc
59561e2688 fix excessive pruning in meta-calls
fix Term->int breakage in compiler
improve JPL (at least it does something now for amd64).


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1264 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-03-13 06:26:13 +00:00
vsc
b6af3095da small fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1261 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-03-07 17:49:16 +00:00
ricroc
4c972ca825 bug fixes for YapTab support
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1259 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-03-04 20:30:14 +00:00
vsc
14f9382666 fix pruning bug
make DL_MALLOC less enthusiastic about walking through buckets.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1253 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-03-01 22:25:09 +00:00
vsc
49c8efc0df library_directory may not be deterministic (usually it isn't).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1240 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-02-08 18:05:21 +00:00
vsc
cd4fd05d45 lgamma broke arithmetic optimisation
integer_y has type y
pass original source to checker (and maybe even use option in parser)
use warning mechanism for checker messages.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1231 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-01-13 05:47:27 +00:00