Commit Graph

297 Commits

Author SHA1 Message Date
Ricardo Rocha f06489ffe5 show_table support for mode directed tabling 2011-11-09 15:13:22 +00:00
Ricardo Rocha 2905fc8114 fix mode directed tabling 2011-11-09 14:24:08 +00:00
Joao 1e7fc1afce fix mode directed tabling. 2011-11-09 12:03:09 +00:00
Ricardo Rocha dab7c00e60 extra space in macro definition 2011-11-09 11:02:05 +00:00
Ricardo Rocha 88760aa0b1 mode directed tabling 2011-11-09 11:00:31 +00:00
Vítor Santos Costa fa9d8008a4 bug fixes. 2011-10-27 12:37:41 +02:00
Vítor Santos Costa 22b0bcac14 mode directed tabling. 2011-10-22 16:49:13 +01:00
Vitor Santos Costa 8ff513b58a fix thor to back up to intermediate node. 2011-10-12 23:51:12 +01:00
Joao 64ae3cdf52 fix YAPOR incremental copy. 2011-09-15 15:40:47 +01:00
Ricardo Rocha efc59cf8d6 DepFr_cons field initialization for threads 2011-07-26 16:49:49 +01:00
Ricardo Rocha 31b3eeaae6 fix output stream usage 2011-07-26 15:26:01 +01:00
Ricardo Rocha 22d8e33a5f fix cut support for or-parallelism 2011-07-13 17:36:26 +01:00
Ricardo Rocha f2072e14b3 removing printf 2011-06-21 15:49:38 +01:00
Ricardo Rocha 8116aac432 parallel execution is now explicit using one of the new built-in
predicates: parallel/1, parallel_findall/3 or parallel_once/1.
2011-06-21 15:19:07 +01:00
Vítor Santos Costa 23a1a3fe39 use UInt not long. 2011-06-20 10:40:18 +01:00
Ricardo Rocha 3cd4f399c5 move opt.memory.c to or.memory.c 2011-06-02 17:05:58 +01:00
Ricardo Rocha d601ba9caf fix yapor memory allocation 2011-06-02 17:01:00 +01:00
Ricardo Rocha dfe0e1854f init_yapor_workers -> Yap_init_yapor_workers 2011-06-01 18:51:12 +01:00
Joao e319b2fbf9 fix YAPOR THREADS. fix threads + tabling. 2011-05-27 17:21:03 +01:00
Ricardo Rocha e63cba963e new local predicates for tabling with threads 2011-05-25 20:08:04 +01:00
Ricardo Rocha f7b9c74948 sync with repository 2011-05-25 18:50:54 +01:00
Ricardo Rocha 1d4fdd53c0 use SWI's IOSTREAM for output 2011-05-25 18:38:46 +01:00
Joao 971ad94311 moved several global variables to misc/GLOBALS 2011-05-25 16:40:36 +01:00
Joao 8170f6d3cb Some global variables(Yap_thread_gl) in C/init.c are now declared in misc/LOCALS 2011-05-23 16:19:47 +01:00
Joao ab63cd190b LOCALS and GLOBALS are now generated by misc/buildlocalglobal. 2011-05-11 18:22:58 +01:00
Joao d6fc76faf1 Remove GLOBAL_AGcLastCall. Fix GLOBAL_check_sg_fr. 2011-05-10 12:20:22 +01:00
Joao ebd0e8a7c0 change global_optyap_data macros to GLOBAL_. 2011-05-10 11:47:18 +01:00
Ricardo Rocha 026616963c remove FOREIGN_ macros and use REMOTE_ instead 2011-05-09 20:19:49 +01:00
Ricardo Rocha a532b6cff3 struct local_optyap_data is now part of struct worker_local (generated from the file LOCALS) 2011-05-09 19:36:51 +01:00
Joao dc3c54c164 change LOCALS macros. 2011-05-04 10:11:41 +01:00
Joao 719b04fee3 fix abolish_table/1 ans abolish_all_tables/0 built-in predicates 2011-04-29 17:29:02 +01:00
Joao affaeb4092 Merge branch 'master' of ssh://yap.git.sourceforge.net/gitroot/yap/yap-6.3
Conflicts:
	H/dlocals.h
	H/hlocals.h
	H/ilocals.h
	H/rlocals.h
2011-04-29 16:44:59 +01:00
Joao c27f79eeb1 fix YapOr threads. 2011-04-29 14:59:17 +01:00
Joao d4825159ee fix configure file. change memory management in YapOr. 2011-04-28 09:48:42 +01:00
Vitor Santos Costa d3ff70096b fix purge_tries. 2011-04-26 22:15:54 +01:00
Joao 274de7652f fix error messages in configure file. 2011-04-18 14:59:17 +01:00
Joao b6e0a64e56 fix memory allocation for YapOR 2011-04-14 19:19:13 +01:00
Joao 47f7ff0ad7 change Yap_init_optyap_global to Yap_init_optyap_data. 2011-04-07 16:37:41 +01:00
Joao de8518cf15 change optyap_global_data to global_optyap_data 2011-04-07 16:30:56 +01:00
Joao 056ef59d4b fix tabling. change Yap_timestamp to Yap_ma_timestamp. change Yap_time_stamp to Yap_timestamp. 2011-04-07 16:00:26 +01:00
Joao b4a00d1fef rename function Yap_init_global to Yap_init_optyap_global. 2011-04-01 11:13:48 +01:00
Joao 27d3399768 rename YAPOR files in OPTYAP 2011-03-31 14:50:47 +01:00
Joao 662658986a chnage define ACOW to YAPOR_COW 2011-03-30 16:39:09 +01:00
Joao 3e148c3541 change define SBA to YAPOR_SBA 2011-03-30 15:32:59 +01:00
Joao 810c96416b change define ENV_COPY to YAPOR_COPY 2011-03-30 14:35:10 +01:00
Joao f890a11377 change macros GLOBAL to Yap 2011-03-29 18:19:18 +01:00
Joao 3664bc64d4 fix yapor+tabling 2011-03-29 15:52:44 +01:00
Joao 1cede1f4d6 change struct worker_share to global_data
change struct global_data to optyap_global_data
chnage field global in struct worker_share to optyap_global
2011-03-25 18:01:17 +00:00
Vítor Santos Costa 90d93fdbdd cache abstra machine register in threaded mode. 2011-03-07 16:02:55 +00:00
Vítor Santos Costa da1df3d851 more cleanups. 2011-03-02 23:19:39 +00:00
Vítor Santos Costa b9a7cce232 fix aliasing warning. 2011-02-15 18:40:34 +00:00
Vitor Santos Costa 2db6020e80 remove debugging message. 2010-11-28 11:52:56 +00:00
Vitor Santos Costa 4aee4df719 single initialization for top frame. 2010-11-28 11:51:31 +00:00
vsc 312d82816e fix memory allocation (MMAP) for shared LOCAL and GLOBAL in ENV_COPY 2010-10-15 02:06:37 +01:00
vsc bd502a39ac fix RW_locks for x86 (code from Erlang). 2010-10-15 01:13:49 +01:00
Vítor Santos Costa bfa7285041 fix interface with Thor 2010-07-28 17:14:29 +01:00
Vitor Santos Costa 86af6ff3f6 add THOR to threads version. 2010-07-28 00:30:02 +01:00
Vitor Santos Costa af056dd605 fix tabling to compile with threads+ or-parallelism. 2010-07-27 23:09:17 +01:00
Ricardo Rocha 4df6ed1394 extra built-in predicate for frozen choice point support 2010-05-18 17:34:52 +01:00
Vítor Santos Costa be2a3a635e L constants are evil in 64 bits 2010-05-11 12:25:49 +01:00
Ricardo Rocha 16c1056a01 tabling support for the common global trie is now available by default
(macro GLOBAL_TRIE was removed). Use 'yap_flag(tabling_mode,MODE)' to
set the storing mode for all tabled predicates to MODE ('local_trie' or
'global_trie). Alternatively, use 'tabling_mode(PRED,MODE)' to set the
default tabling mode of predicate PRED to MODE ('local_trie' or
'global_trie'). The default mode for all tabled predicates is 'local_trie'.
2010-04-23 04:22:10 +01:00
Ricardo Rocha 7eee5a5b56 new built-in predicates to access OPTYap statistics related to memory
usage.
2010-04-20 03:59:48 +01:00
Ricardo Rocha c221c2ff85 renaming some OPTYap files in order to have a more consistent name organization 2010-04-19 02:34:08 +01:00
Ricardo Rocha 73d210c991 reducing the number of macros for error checking in the OPTYap files 2010-04-18 04:59:11 +01:00
Ricardo Rocha 467dd91b32 new built-in predicate global_trie_statistics/0. 2010-04-16 03:07:37 +01:00
Ricardo Rocha ddb1cd8604 adding two new modes to the yap_flag/2 and tabling_mode/2 built-in
predicates: 'local_trie' mode and 'global_trie' mode.
2010-04-16 02:08:06 +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 8efec0b26e put ThOr back in shape. 2010-04-09 11:56:07 +01:00
Ricardo Rocha ab8fee4e08 common global trie for subtems (seems to be working correctly !) 2010-04-05 03:34:02 +01:00
Ricardo Rocha 9c3bb73bab common global trie (version GT-ST: global trie for subterms) 2010-04-05 03:31:12 +01:00
Ricardo Rocha 6c222b8e87 use a macro (stack_terms_limit) to delimit the top of the auxiliary term
stack
2010-04-03 16:05:38 +01:00
Ricardo Rocha b3e2c562a2 misplaced #endif declaration 2010-04-03 06:31:34 +01:00
Ricardo Rocha 52a2b49263 new support for the common global trie (version GT-ST: global trie for subterms) 2010-04-03 05:58:14 +01:00
Ricardo Rocha 55855d8d90 fix abolish_table/1 abolish_all_tables/0 for predicates with arity 0 2010-03-29 15:41:59 +01:00
Ricardo Rocha 3742f09c10 missing brackets in condition using macro new_dependency_frame() 2010-03-15 14:21:16 +00:00
Ricardo Rocha ee0022bb47 checking for frozen segments in the trail stack in now done using the
macro IN_BETWEEN(Yap_TrailBase, ref, Yap_TrailTop)
2010-03-12 20:02:32 +00:00
Ricardo Rocha 6dbc6f09fa new built-in predicate abolish_all_frozen_choice_points/0 2010-03-09 14:48:20 +00:00
Vítor Santos Costa 500d6ac453 fix LOCAL with tabling only. 2010-02-12 16:25:57 +00:00
Vítor Santos Costa 5937a72b76 try to get rid of a warning. 2010-02-12 16:25:43 +00:00
Vitor Santos Costa 95e596a8a1 make LOCAL a register 2010-02-10 09:22:20 +00:00
Vitor Santos Costa 0e85839517 remove debugging info. 2010-02-10 09:21:04 +00:00
vsc c95c89cfe3 oops... 2010-02-04 00:00:33 +00:00
vsc eb6ac94e45 use mapfield in current directory, not in / 2010-02-03 22:54:24 +00:00
vsc 9c100ae09d fix INCREMENTAL_COPY
delay P until Q has copied trailed bindings (should not be needed, but hey!)
don't trust TR when copying bindings.
2010-02-03 22:52:45 +00:00
Vitor Santos Costa 9c85f67eee fix one more CP field to offset. 2010-02-02 23:42:15 +00:00
Vítor Manuel de Morais Santos Costa 9d1f0cd361 incremental copying with or-threads. 2010-02-01 20:05:01 +00:00
Vítor Manuel de Morais Santos Costa d0fdcba231 make it compile
support non-incremental copy.
2010-01-29 12:28:23 +00:00
Vítor Manuel de Morais Santos Costa 4b8d655437 cut cps are different from everyone else? 2010-01-28 15:44:31 +00:00
Vítor Manuel de Morais Santos Costa 5b47d00cbc replace by macros wherever possible. 2010-01-28 15:43:52 +00:00
Vitor Santos Costa 995e8f6dc7 fix cut handling with threads
do not compile or.threadengine unless yapor on.
2010-01-27 11:01:28 +00:00
Vitor Santos Costa d2bf8c717d make sure it compiles under YAPOR alone. 2010-01-22 22:30:11 +00:00
Vitor Santos Costa 6da35f6e7b count the number of alternatives left plus the actual choicepoint!! 2010-01-22 22:29:40 +00:00
Vitor Santos Costa 44a418bd04 small orp fixes. 2010-01-15 12:04:01 +00:00
Vitor Santos Costa 70c762c162 fix undefined predicate (made Logtalk loop). 2010-01-15 01:03:34 +00:00
Vítor Manuel de Morais Santos Costa a498dc1265 icompile table+orp 2010-01-14 17:38:39 +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 5f0f91208d fix compilation of threads+tabling 2009-12-18 00:19:49 -02:00
Vitor Santos Costa d9016fa650 init_local should be called Yap_init_local to avoid clashesh. 2009-11-19 08:24:38 +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
Vítor Manuel de Morais Santos Costa d810cbd41d we're moving down, not up, in both cases! 2009-10-19 16:39:40 +01:00
Ricardo Rocha 7120e79dd6 include the library shm.h only when needed 2009-09-29 00:56:58 +01:00
Ricardo Rocha 7d841065e9 support for the common global trie (version GT-T: global trie for terms) 2009-09-27 02:31:31 +01:00
Costa Vitor 1e16a9c339 modern machines do not guarantee sequential consistency. 2009-09-07 20:42:19 -05:00
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