Commit Graph

351 Commits

Author SHA1 Message Date
Joao
3e148c3541 change define SBA to YAPOR_SBA 2011-03-30 15:32:59 +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
ubu32
e98ba46ccb make new code work in 32 bit Linux. 2011-03-07 08:34:20 -08:00
Vítor Santos Costa
90d93fdbdd cache abstra machine register in threaded mode. 2011-03-07 16:02:55 +00:00
Vitor Santos Costa
9bdc7ca96e get rid of references to freed code. 2011-02-04 01:23:01 +00:00
vsc
58b838b8e1 fix bad overflow handling 2010-12-31 05:37:25 +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
1369057cc4 fix style checker to be more self-contained. 2010-12-13 19:13:33 +00:00
Vítor Santos Costa
378035a4b0 fix bad marking of dbterms (obs from Ines Dutra). 2010-12-12 16:45:39 +00:00
Vitor Santos Costa
e0aa6ae30a improve low level profiler interface. Still doesn't work too well. 2010-10-26 22:01:29 +01:00
Vitor Santos Costa
8d5aa09e05 fix threaded error handling. 2010-07-30 00:57:46 +01:00
Vítor Santos Costa
c017bccd1a more locking fixes 2010-07-28 17:12:17 +01:00
Vitor Santos Costa
7b9ab9252c get rid of debugging info. 2010-07-28 11:30:28 +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
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
11641c5f94 64 bit cleanups. 2010-05-06 15:00:44 +01:00
Vitor Santos Costa
3e8dc5cd19 try to handle overflows in stack dumpers. 2010-04-29 10:29:06 +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
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
e440953256 use IsAttVar 2010-03-08 09:19:57 +00:00
Vitor Santos Costa
8b18242138 fix missing ; (obs from Paulo Moura). 2010-03-01 00:06:45 +00:00
Vitor Santos Costa
16a9c8a807 SWI-compatible source_file/1 and 2 2010-02-28 22:24:51 +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
89e38cbcc0 or_last is different under yapor. 2010-01-15 16:15:36 +00:00
Vitor Santos Costa
c6406b822b prolog: multifiles are not really system predicates (they can be redefined). 2009-11-23 10:10:47 +00:00
Vítor Manuel de Morais Santos Costa
71de4ed52a Merge branch 'master' of gitosis@yap.dcc.fc.up.pt:yap-6 2009-11-18 13:13:51 +00:00
Vítor Manuel de Morais Santos Costa
c108ac508d check for callable before looking at predicate terms... 2009-11-18 13:13:16 +00:00
Vitor Santos Costa
c51c17aa52 make sure to get valid terms in meta_call, not references. 2009-11-17 00:23:34 +00:00
Vitor Santos Costa
a628079e00 make sure we walk every clause when doing restore mega_clause. 2009-11-02 12:46:39 +00:00
Vitor Santos Costa
0ea348c26d extend SWI interface with PL_toplevel and to handle C++ code.
prolog/0 built-in
fixes to parms.h changes.
2009-10-23 16:50:43 +01: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
Costa Vitor
32122f4171 make sure we have enough room when splitting mega clause. 2009-09-12 16:43:44 -05:00
Costa Vitor
f877e78785 make YAP compile with --enable-or-parallelism 2009-08-19 21:53:49 -05:00
Costa Vitor
40ea33c150 Merge branch 'master' of gitosis@yap.dcc.fc.up.pt:yap-6 2009-08-12 10:01:34 -05:00
Costa Vitor
dccf3cf8a2 assert logupd should set the clause in use (obs by Jose Santos). 2009-08-12 10:00:38 -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
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
924cf77fed fix another loop in spy_pred. 2009-06-23 23:24:16 -05:00
Costa Vitor
058b389566 asserta dynamic predicates should not kill preexisting code. 2009-06-23 06:51:28 -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
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
3c84466d05 asserting on a spied predicate might make it loop for ever :( 2009-04-21 18:51:01 -05:00
Vitor Santos Costa
f46ff06f38 get rid of broken $clause/3: fixes listing of dynamic predicates. 2009-03-26 08:12:24 +00:00
Vitor Santos Costa
d7c2c74acc fix counting of C-pred: it should not be in caller. 2009-02-26 00:00:23 +00:00
Vitor Santos Costa
95fc66be25 more fixes to profiling code. 2009-02-25 22:15:18 +00:00
Vitor Santos Costa
94ebb90719 UDI patch: make it work with YAP. 2009-02-20 11:42:48 +00:00
Vítor Santos Costa
f7046286a0 cleanups and a bug fix (it is lp now, not just p as before). 2009-02-12 21:45:41 +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
9a0d481528 avoid too many discontiguous warnings by keeping track of last clause predicate. 2009-02-10 23:42:26 +00:00
Vitor Santos Costa
0886bd2e59 get rid of unused mk_cl_not_first. 2009-02-10 23:17:41 +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
Vitor Santos Costa
b1cf60cafb moe changes to support atomic generation of atoms
support automatic generation of code walker (to find P's predicate and clause)
2008-12-24 09:04:44 +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
Vitor Santos Costa
821cc384a3 allow statistics on data base keys of integers.
change pred_entry not to fail on this case.
avoid using functor in this case.
2008-09-15 04:30:09 +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
8f69c35e7f optime access to execute_cpred 2008-09-01 16:48:05 +01:00
Vítor Santos Costa
84ad9adff0 fix clause to support new execute_cpred 2008-09-01 16:30:37 +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
Vitor Santos Costa
d5d5a6c95f escape from NULL pointer. 2008-08-26 01:08:52 +01:00
Vítor Santos Costa
f499115573 redo lost updates 2008-08-21 13:38:25 +01:00
vsc
75c72d7b7d SWI and module fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2290 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-07-22 23:34:50 +00:00
vsc
8e6403794f fix abolish bug
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2252 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-02 17:20:28 +00:00
vsc
ade7b34d49 thread fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2251 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-28 17:18:35 +00:00
vsc
f1d5e84918 fix bug in current_predicate/2
fix bug in c_interface.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2221 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-28 23:02:32 +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
0dd21aab71 put YAPOR back to life.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2187 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-01 22:28:41 +00:00
vsc
c23cce1cc1 fix restore and small VISTA thingies
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2177 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-01 08:42:46 +00:00
vsc
5b6e8e742b more fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2176 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-31 22:56:22 +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
c20c0f7767 fix maximum number of threads open error
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2158 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-24 23:48:47 +00:00
vsc
ba2023436a fix bug in all_calls
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2157 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-22 23:35:00 +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
17d16e0b14 Big update to support more SICStus/SWI like message handling
fix YAPSHAREDIR
fix yap.tex (Bernd)


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2107 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-02-22 15:08:37 +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
3faa45cb0a new version of clp(fd)
fix deadlock with empty args facts in clause/2.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2047 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-12-26 19:50:40 +00:00
vsc
65d3704e4b recover stack space
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2046 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-12-23 22:48:44 +00:00
vsc
926d21808e purge_clauses does not need to do anything if there are no clauses
fix gprof bugs.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2045 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-12-18 17:46:58 +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
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
925639eccc YAP would always say the system has tabling!
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1979 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-11-08 09:53:01 +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
b5c8c9bad3 fix uninitalised lock and reconsult test.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1971 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-11-01 10:01:35 +00:00
vsc
d3bbba177f small fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1970 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-10-29 22:48:54 +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
57b7f544d1 debugging and clause/3 over tabled predicates would kill YAP.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1856 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-03-26 15:18:43 +00:00
vsc
3ddc4cef3a all/3 should fail on no solutions.
get rid of annoying gcc complaints.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1787 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-01-25 22:11:55 +00:00
vsc
48fdba3f1e fix matrix mess
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1778 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-01-24 10:01:40 +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