Commit Graph

144 Commits

Author SHA1 Message Date
Costa Vitor
f877e78785 make YAP compile with --enable-or-parallelism 2009-08-19 21:53:49 -05:00
Ricardo Rocha
9dc0618a12 make the support for compact lists the default configuration for the tabling engine 2009-08-12 14:32:12 +01:00
Ricardo Rocha
23d44f959d include cp_h field in deterministic choice points, otherwise we get in trouble 2009-08-09 03:38:07 +01:00
Ricardo Rocha
4f6676e5af fix garbage collector for deterministic tabling (still very
experimental)
2009-08-08 05:02:27 +01:00
Ricardo Rocha
4bdf8bf991 if the current generator choice point is the topmost choice point and
the current call is deterministic then the current answer is
deterministic and we can perform an early completion and remove the
current generator choice point
2009-08-08 03:53:51 +01: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
Ricardo Rocha
cc2c6dbe71 make the parallel and sequential code to check/insert nodes in the
trie more consistent
2009-08-07 06:27:34 +01:00
Ricardo Rocha
375f3b7bc6 fix debugging procedures for tabling 2009-08-07 04:46:45 +01:00
Ricardo Rocha
981bee74f0 fix garbage collector for dealing with float/longint trie instructions 2009-08-07 04:34:48 +01:00
Ricardo Rocha
b4a71ad43a empty --> EMPTY 2009-08-06 18:34:21 +01:00
Ricardo Rocha
36e6925776 make the support for early completion optional (macro TABLING_EARLY_COMPLETION) 2009-08-06 02:27:59 +01:00
Ricardo Rocha
cf5d68edda fix recursive functions that manipulate tries 2009-08-05 05:48:00 +01:00
Ricardo Rocha
02e82d7719 disable the support for trie compact lists in YapTab's default
configuration.
2009-07-05 05:29:53 +01: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
Ricardo Rocha
c666f74532 support for deterministic tabled calls and answers 2009-07-03 00:54:39 +01:00
Ricardo Rocha
7413d0f898 bug fix in built-in predicate tabling_statistics/0. 2009-06-25 13:00:13 +01:00
Ricardo Rocha
5b60209db3 bug fix in function free_subgoal_trie_branch() 2009-06-25 12:37:07 +01:00
Ricardo Rocha
eeb62b63b4 support for trie compact lists 2009-06-24 20:04:16 +01:00
Ricardo Rocha
3ccad9aff2 redefine MAX_DEPTH as MAX_BRANCH_DEPTH to avoid conflits with yap2swi
library
2009-06-24 20:00:51 +01:00
Ricardo Rocha
1351bd11a2 - bug fixes in show_table/1.
- new built-in predicate show_all_tables/0.
2009-06-17 17:14:16 +01:00
Vitor Santos Costa
f209796c3b fix bad overflow handling 2009-05-01 12:46:34 -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
fb8648d7df remove early completion code. 2008-09-26 18:50:09 +01:00
Vítor Santos Costa
6747cb21de do not allow backtracking to a frozen CP. 2008-09-24 00:12:32 +01:00
Vitor Santos Costa
02893cc83f Ricardo Rocha's code for user managed suspension.
changed code from absmi.c to tab.macros.h
2008-09-18 17:35:21 +01:00
Vitor Santos Costa
e35af2a352 experiments with early completion. 2008-09-15 04:29:26 +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
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
f499115573 redo lost updates 2008-08-21 13:38:25 +01:00
ricroc
501e3d7c30 YapTab: support for early completion
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2246 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-23 18:28:58 +00:00
ricroc
9a841991ea YapTab: support for early completion
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2239 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-20 18:25:37 +00:00
ricroc
da7a287e49 YapTab: init_subgoal_frame()
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2231 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-05 17:17:35 +00:00
ricroc
508c48d385 YapTab: load_answer_trie()
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2230 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-05 17:09:37 +00:00
ricroc
ddcd80d2a9 *** empty log message ***
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2215 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-11 16:30:28 +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
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
ricroc
f92d494e8e show_table for tabled predicates with arity 0.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1871 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-04-26 19:02:46 +00:00
ricroc
9bb854ab62 tabling support for 64 bits
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1870 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-04-26 14:13:21 +00:00
ricroc
ec5891574e incomplete tabling: remove subgoal frame from list of inactive subgoals when a repeated call appears.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1624 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-05-02 08:01:27 +00:00
ricroc
676e2774c9 new built-in predicate: show_tabled_predicates/0
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1620 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-04-29 15:52:22 +00:00
ricroc
1ce0cdee55 subgoal_search: remove subgoal frame from list of inactive subgoals when a repeated call appears.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1594 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-04-12 14:57:59 +00:00
vsc
30318bb60d Lots of fixes (check logfile for details
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1585 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-04-05 00:16:55 +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
4c0865ca37 more tabling fixes
use malloc when AllocCodeSpace fails
use snprintf when available.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1458 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-11-16 01:55:03 +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
ricroc
d12421405c TABLING FIX: recover unused space algorithm
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1359 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-08-10 21:36:34 +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
ricroc
dda96dc613 TABLING FIXED: opcode test in instruction table_try_answer
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1353 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-08-01 18:26:28 +00:00
ricroc
d6a2f6ac94 TABLING FIXED: table and yap_flag(tabling_mode,_) declarations
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1352 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-08-01 17:59:49 +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
edafbcc7c3 TABLING FIXED: predicate abolish_all_tables/0
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1350 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-07-28 16:29:50 +00:00
ricroc
ed688bcff0 TABLING FIXED: cuts and batched scheduling
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1349 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-07-26 16:28:28 +00:00
ricroc
5ef65b053e TABLING: new predicates 'tabling_statistics' and 'abolish_all_tables'.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1343 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-07-11 19:17:32 +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
ricroc
9a85c9c0ff store tabling_mode info in the table_entry data structure
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1329 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-06-04 08:05:27 +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
c665fa8c11 include declarations (small changes)
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1326 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-06-03 18:28:11 +00:00
ricroc
e7dc1c2e36 missing endif declaration at the end of the file
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1325 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-06-03 09:02:08 +00:00
ricroc
08eaaa570d float support for tabling
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1323 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-06-03 08:19:18 +00:00
ricroc
b8546491fc copyright header in OPTYap files
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1315 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-05-31 08:24:24 +00:00
ricroc
7976da97b8 make the tabling engine independent of the tag scheme
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1312 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-05-31 08:19:31 +00:00
ricroc
f1db3d3b69 remove abort_yapor, abort_yaptab, ...
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1309 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-05-31 00:49:49 +00:00
vsc
50398abc6d changes to support more tagging schemes from tabulation.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1303 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-05-30 06:07:35 +00:00
vsc
bb9077d5cc fix tabling
allow atom gc again for now.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1300 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-05-30 05:26:50 +00:00
ricroc
9d7954f092 FIXED: in abolish_incomplete_subgoals(), free_answer_hash_chain() needs to be executed before updating SgFr_answer_trie.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1269 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-04-08 19:26:28 +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
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
8d2cb067ec fix situation where we might assume nonextsing double initialisation of C predicates (use
Hidden Pred Flag).
$host_type was double initialised.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1177 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-11-18 22:32:40 +00:00
vsc
072dc0a7b7 locking on the p-threads world
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@984 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-02-12 23:48:19 +00:00
vsc
6662ca157e simplify module access
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@981 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-02-12 12:37:12 +00:00
vsc
ba9876268f threads, clean signals, and much more...
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@957 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-01-23 02:23:51 +00:00
vsc
221665bab8 support for tabling
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@951 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2003-12-18 16:38:40 +00:00
ricroc
80be9121af My first attempt to synchronize OPTYap with CVS
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@916 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2003-11-05 16:12:25 +00:00
ricroc
e2e49aecd1 My first attempt to synchronize OPTYap with CVS
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@915 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2003-11-05 16:00:01 +00:00
vsc
e216aab2c6 Christian's patches for OPTYap.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@707 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-11-26 22:19:48 +00:00
vsc
7b2c4dc6ff all global symbols should now start with _YAP
global functions should not be called from within file (bug in
binutils/WIN32).


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@675 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-11-11 17:38:10 +00:00
vsc
5a5c674300 disable stack shifting and garbage collection in the presence of
multiple threads.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@646 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-10-21 22:52:36 +00:00
vsc
0351b9f0ab make --enable-threads work on CVS release.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@645 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-10-21 22:14:29 +00:00
vsc
4fc1a2ff42 put tabling back to work
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@460 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-05-03 15:30:36 +00:00
vsc
f3756717fb fix gcc dependent code
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@367 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-02-18 15:26:41 +00:00
vsc
9c7149eab5 fix overflow while shunting in garbage collector;
start debugging tabling bug (ai_tests).


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@210 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2001-12-02 16:54:39 +00:00
vsc
b2934a5aeb fix abolish/1
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@182 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2001-11-16 20:27:06 +00:00
vsc
c85d9ee978 fix tabling declaration.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@181 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2001-11-15 19:10:02 +00:00
vsc
b289d9ac9c new module system. BEWARE! BEWARE! BEWARE!
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@177 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2001-11-15 00:01:43 +00:00
vsc
41cc6c0f4e minor changes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@142 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2001-08-27 14:44:07 +00:00
vsc
3759aa571b misc changes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@136 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2001-08-09 14:01:20 +00:00
vsc
55aa368d05 support for configure 2.5
recover memory in catch/throw.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@75 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2001-06-11 15:12:07 +00:00
vsc
43d4b911d0 TRAIL_REF changed to TRAIL_LINK
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@72 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2001-06-08 20:21:59 +00:00
vsc
82438c1d6f fixes in modules
system support for WIN32 (first try).
small fixes.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@45 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2001-05-28 19:54:53 +00:00
vsc
8dcee4415b library(system) plus several new support builtins
much improved garbage collector
improvements to compiler
yaptab compiles again


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@34 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2001-05-21 20:00:05 +00:00
vsc
e5f4633c39 This commit was generated by cvs2svn to compensate for changes in r4,
which included commits to RCS files with non-trunk default branches.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@5 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2001-04-09 19:54:03 +00:00