Commit Graph

244 Commits

Author SHA1 Message Date
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
3683da028a use correct tests. 2010-03-14 09:31:04 +00:00
Vítor Manuel de Morais Santos Costa
10744069fc fix global variable core dump in threaded yapor. 2010-01-29 18:09:07 +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
Vitor Santos Costa
5824e5ecea fix debugging info. 2010-01-12 10:08:15 +00:00
Vitor Santos Costa
e86a995dd2 fix bad test faster interface to eval (obs from Jose Santos) 2010-01-11 10:35:36 +00:00
Vítor Manuel de Morais Santos Costa
b16623d026 fix realloc and friends (obs from Nuno Fonseca). 2009-11-27 13:31:03 +00:00
Vítor Manuel de Morais Santos Costa
98f79484ae change throw mechanism to fit better with cleanup mechanism:
- balls are now stored off line and recovered by Prolog code when everything
is safe.
- if a ball exists, throw uses the *existing* one (be careful not to have one
laying around).
- Jump routine cleans up every cp except ones for setup_call handling, backtracking simply calls setup handlers.
2009-11-27 11:21:24 +00:00
Vitor Santos Costa
0179998d60 change Heap.h to YapHeap.h
rename $live to prolog/0 (for SWI compatibility).
2009-10-23 14:22:17 +01:00
Vitor Santos Costa
9c74080512 fix memory overflow when doing very large writes on strings (obs from Jos Deroo). 2009-07-28 18:30:15 -05:00
Vitor Santos Costa
7155aa943f make sure that variables in tabled predicates are safe for backtracking: new
variables should be bound carefully.
2009-07-22 23:28:04 -05:00
Costa Vitor
4882cefa12 get rid of debugging code. 2009-07-22 17:02:56 -05:00
Vitor Santos Costa
c1024caa53 Unify emptylist of variables if one reads EOF. 2009-07-21 00:11:44 -05:00
Vitor Santos Costa
de3c042143 just update, no interesting change. 2009-05-24 15:17:23 -05:00
Vitor Santos Costa
51e669dcfb support for passing priority as argument to write. (Ulrich's #45).
fixes on making write handle infinite loops
2009-05-22 13:24:27 -05:00
Vitor Santos Costa
0a2c90a919 fix warning 2009-04-22 16:41:33 -05:00
Vitor Santos Costa
67eddb5a5b arity may be a long int 2009-03-27 15:28:32 +00:00
Vitor Santos Costa
7726944e1b back to normal. 2009-03-10 16:22:45 +00:00
Vitor Santos Costa
afd979a246 improve substantially handling of soft disjunctions. 2009-03-05 16:12:21 +00:00
Vitor Santos Costa
48eaa975f2 if we have many embedded calls to nb_queue, make sure we don't allocate a lot of memory for each one. 2009-02-27 00:31:29 +00:00
Vitor Santos Costa
51875c627a avoid excessive overflows and too large overflows in delay stack. 2009-02-26 23:06:27 +00:00
Vítor Santos Costa
43e70f2003 more changes to support SWI Input/Output. Now it compiles, which does
not mean it would work!
2008-12-22 12:03:14 +00:00
Vítor Santos de Costa
7207c18e65 fix longmp in trow not to recover trail. This way we do not need to do
copy_term/2 and we avoid losing the attributed variable stack.
2008-10-18 11:03:25 +01:00
Vítor Santos Costa
1e8de3f86c fix ) in arity 0 predicates 2008-09-23 22:49:44 +01:00
Vitor Santos Costa
473012316a put tracer.c back to normal. 2008-09-14 05:11:35 +01:00
Vítor Santos Costa
d70cb39c1d fix answer_trie compilation and execution:
- YapOpcodes.h should have do/trust/try/trust: force this order in
tab.tries.insts.i
- retry and trust instructions should not trust YENV
2008-09-05 18:34:26 +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
0fc361d331 indexer was going bad on _pop instruction. 2008-08-30 23:59:09 +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
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
87fcf6233c put chr back to life
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2265 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-08 08:05:11 +00:00
vsc
5d49f14545 fix rbtrees built from ordered lists
fix jt
be more flexible about unbound parents


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2260 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-05 16:24:08 +00:00
vsc
316811d2cd user:goal_expand should be called before import
add extra apply_macros and apply stuff; fix unexisting definitions.
add forall/2 and ignore/1 to system stuff.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2237 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-15 13:41:48 +00:00
vsc
257c3a2cbc fix threads and LU
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2233 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-10 23:24:13 +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
1090771c90 fix breakage in module system
disable stack writing in error for now


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2155 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-17 18:31:16 +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
4ae454aac6 Will Benton's patches for Mac 64 bits.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2062 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-01-25 00:21:28 +00:00
vsc
fd6b87e5cf oops
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2061 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-01-24 22:47:14 +00:00
vsc
42c88eddff clause should not try to discover who is fail.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2059 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-01-24 10:20:42 +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
64d62f1e3e improve JT
fix graph compatibility with SICStus
re-export declaration.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2037 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-12-05 12:17:25 +00:00
vsc
507d3058f4 fix some overflows
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2028 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-11-20 15:51:39 +00:00
vsc
d908c8633f implement sophisticated operations with matrices.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2022 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-11-16 14:58:41 +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
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
039067068e improve external interface
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1881 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-05-14 16:44:12 +00:00
vsc
b13be040d8 mktime needs to know if daylight time savings are on
(obs from Bernd Gutmann).


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1879 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-05-07 11:21:29 +00:00
vsc
0cef3c5389 fix restore (Trevor)
make indexing a bit faster on IDB


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1771 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-01-08 08:27:19 +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
1e78b948dd avoid generating suspensions on static code.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1714 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-11-08 01:53:08 +00:00
vsc
9c506b2a2c 1estranha
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1709 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-11-06 18:35:05 +00:00
vsc
bd015b83ee fix avl stuff and all/3 stuff
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1707 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-10-19 15:09:03 +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
d11fd73306 global variables
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1685 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-08-22 16:12:46 +00:00
vsc
f69ba78f02 *** empty log message ***
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1683 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-08-05 03:06:31 +00:00
vsc
089e864621 *** empty log message ***
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1682 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-08-04 04:06:33 +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
vsc
98de08022b WIN32 fixes
compiler bug fixes
extend interface


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1632 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-05-16 18:37:31 +00:00
vsc
b54dd9e2b9 more thread stuff
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1631 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-05-04 18:46:50 +00:00
vsc
034e780548 fix bug in thread initialization.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1629 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-05-04 17:47:28 +00:00
vsc
6fb10bfc51 fix number of overflow bugs affecting threaded version
make current_op faster.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1615 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-04-28 13:23:23 +00:00
vsc
da7da82733 don't use <= to compare with block top (libc may not have block header).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1613 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-04-27 17:04:08 +00:00
vsc
9cbe63778e fix garbage collector to handle multi-assigned variables and to not mess around
with cp_tr fields.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1606 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-04-21 21:50:33 +00:00
vsc
d8ccb42440 fix current_thread to make sure it uses the integer ID even with aliases.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1604 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-04-20 17:29:46 +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
vsc
fded381282 had broken listing when changed "" to ''.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1579 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-03-24 17:15:20 +00:00
vsc
01091f0bfa JPL and DL fixes
documentation fix.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1572 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-03-22 15:00:29 +00:00
vsc
1edb3a8115 fix indexing and tabling bugs
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1567 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-03-20 19:51:44 +00:00
vsc
a4b85e2abd more fixes to get_attributes.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1497 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-01-07 02:12:32 +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
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
3e0d7d8749 fix bad initialization with tabling.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1439 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-11-04 01:17:17 +00:00
vsc
b8d0396939 more small fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1431 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-10-31 12:27:54 +00:00
vsc
8b801e571c make undefined more ISO compatible.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1425 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-10-29 01:28:37 +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
129efd83d8 more fixes for garbage collector
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1394 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-09-21 03:49:33 +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
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
5e2989c385 keep track that we are exiting unbdefp handler, even if we exit with a throw.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1250 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-02-24 22:24:44 +00:00
vsc
0139bfc33a amd64 fixes
library fixes


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1247 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-02-21 16:50:21 +00:00
vsc
94af3000fe fix threads so that they at least start
allow error handling to work with threads
replace heap_base by Yap_heap_base, according to Yap's convention for globals.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1192 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-12-02 06:06:47 +00:00
vsc
ac2a3b01af change configure to support big mem configs
get rid of extra globals
fix trouble with multifile preds


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1155 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-10-06 16:55:48 +00:00
vsc
27a98ecdde add attvar/1 to system.
sort before printing attributed variables to get rid of duplicates.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1132 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-09-10 20:18:01 +00:00
vsc
c042f13930 more fixes for overflows in copy_term with attributed variables (not necessarily).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1131 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-09-09 20:00:59 +00:00
vsc
6a4d9ef41a fix correctly the bug in coroutining: Yap should join the two goals.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1129 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-09-08 18:09:26 +00:00
vsc
ab7489b93d source: a(X) :- true is a fact!
fix use of value after possible overflow in IPred


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1128 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-09-08 17:56:48 +00:00
vsc
803a4b04eb more small fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1119 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-08-27 20:18:52 +00:00
vsc
34ea2e6905 fix array handling of DBRefs
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1083 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-06-18 16:35:18 +00:00
vsc
c715e145ef bad bug in indexing code.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1081 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-06-17 22:07:23 +00:00
vsc
4b11ed9401 fix bugs
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1073 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-06-09 03:32:03 +00:00
vsc
3b376f87e7 fix new special choice-points
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1059 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-04-30 19:50:01 +00:00
vsc
9d5c82db6a fix garbage collection in execute_tail
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1057 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-04-29 03:45:50 +00:00
vsc
27f85f3355 fixes for corourining
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1042 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-04-20 22:08:57 +00:00
vsc
c853e894c0 support expand group of clauses
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1031 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-03-31 01:03:10 +00:00