Commit Graph

169 Commits

Author SHA1 Message Date
Vitor Santos Costa
f3c2dea752 use the right type in call. 2010-02-22 23:08:40 +00:00
vsc
976ae73266 fix get_dbterm compilation. 2010-02-03 18:52:10 +00:00
Vitor Santos Costa
ab0913a2df ask for space proportional to the free trail space at trail overflow. 2009-12-21 10:26:00 -02:00
Costa Vitor
d02c9d23c2 handle cases where test is called with unbound variable. 2009-08-31 23:59:34 -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
d9a48c4014 disable inlining in tabled predicates (maybe a bit too harsh). 2009-07-22 17:00:49 -05:00
Costa Vitor
8a38c64441 fix uninitialised variable (valgrind). 2009-07-15 14:27:56 -05:00
Vitor Santos Costa
4d6cd779cb fix warnings. 2009-06-25 22:31:02 -05:00
Costa Vitor
2588f5b7c5 make sure we count built-ins. 2009-06-22 16:03:14 -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
a0750ff5b7 handle heap overflows when constructing new predicates. 2009-05-24 19:25:26 -05:00
Vitor Santos Costa
9a9767d73c cannot just do error when user does crazy things. 2009-05-24 19:20:00 -05:00
Costa Vitor
ec595374a6 fix allocation of temporary stack so that unification can work even for
very deep terms.
fix occur_unification_bug X = a(f(Y)).
2009-05-22 18:35:24 -05:00
Vitor Santos Costa
b92b026c90 more patches to support Anderson's JIT. 2009-04-08 00:32:36 +01:00
Vitor Santos Costa
f97bc596b9 do not use int for modules, use Term. 2009-04-07 15:44:46 +01:00
Vitor Santos Costa
4b5c07192a get rid of debugging message. 2009-03-27 15:28:22 +00:00
Vitor Santos Costa
fc2e01f320 improve code for disjunctions by trying to avoid permanent variables. 2009-03-10 16:24:26 +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
083b7c9b92 improve compilation of arithmetic and other builtins, this should
make it more aggressive (and still correct).
2009-02-25 00:13:56 +00:00
Vitor Santos Costa
e5d11cfa16 MYDDAS is too closely integreated to be a package. 2009-02-16 17:15:21 +00:00
Vitor Santos Costa
bde2b57f07 compile =/2 to use an extra temporary, and not ARG1. 2009-02-09 22:29:44 +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
18d5fa12e4 fix case where compiler would coredump on badly typed arguments to functor/3. 2008-12-28 11:00:38 +00:00
Vítor Santos Costa
14a162dc6a fix compilation of NewX = f instructions. 2008-12-13 21:22:07 +00:00
Vítor Santos Costa
2b0c27deb6 Remove attempt to emulate SWI I/O
add YAP_getcwd and PL_cwd to interface
2008-12-13 16:07:55 +00:00
Vítor Santos Costa
fdf06f486d replace if-then-else optimisation by the new mechanism. 2008-12-09 14:23:19 +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
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
d02bc3de81 update chr
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2143 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-13 14:38:02 +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
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
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
9cdf70aa41 fix number of overflows (comments by Bart Demoen).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1857 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-03-27 13:48:51 +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
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
230c812a76 fix bb entries
comment development code for timestamp overflow.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1703 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-10-11 15:08:03 +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
db0ab3fd62 fix compilation of |
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1677 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-08-01 13:14:17 +00:00
vsc
beba8315ca fix nasty overflows in and add some very preliminary support for very large
clauses with lots
of disjuncts (eg, query packs).


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1676 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-07-27 19:04:56 +00:00
vsc
eea9f2a58e get rid of IntArrays and FloatArray code.
include holes when calculating memory usage.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1640 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-05-19 14:31:32 +00:00
vsc
871bb9e024 help to make Yap work with dynamic libs
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1638 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-05-19 13:48:11 +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
176f36d5fd fix debugging typo
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1600 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-04-13 02:04:24 +00:00
vsc
ab361ad9fd make it sure that making vars safe does not propagate across branches of disjunctions.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1599 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-04-12 20:08:51 +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
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
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
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
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
vsc
b2dfcf33a1 fix compiler bug in 1 << X, found by Nuno Fonseca.
compiler internal errors get their own message.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1291 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-05-25 21:43:33 +00:00
vsc
0b420f5493 debugger was making predicates meta instead of testing
fix handling of dbrefs in facts and in subarguments.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1287 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-05-12 03:36:33 +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
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
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
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
2ce853ec5f move to Yap-4.5.7
Fix clause size


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1236 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-01-28 23:14:41 +00:00
vsc
dcc4f3c46d improve register liveness calculations.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1233 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-01-14 20:55:16 +00:00
vsc
af931c6e6d - allow MegaClauses with blobs
- change Diffs to be thread specific
- include Christian's updates


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1222 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-01-04 02:50:23 +00:00
vsc
9303ee3b86 fix discontiguous stack overflows in parser
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1221 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-01-03 17:06:05 +00:00
vsc
a4f158fd33 more fixes to CLPBN
fix some Yap overflows.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1216 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-12-20 21:44:58 +00:00
vsc
ae2a53d2e3 fix overflows
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1211 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-12-16 05:57:32 +00:00
vsc
5143aebb01 try to reduce overheads when running with goal expansion enabled.
CLPBN fixes
Handle overflows when allocating big clauses properly.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1193 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-12-05 05:01:45 +00:00
vsc
9dfcbc1de9 replace SYSTEM_ERROR by out OUT_OF_WHATEVER_ERROR whenever appropriate.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1180 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-11-19 22:08:43 +00:00
vsc
6711d93b9c memory management fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1121 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-09-03 03:11:09 +00:00
vsc
fec65e106a fix error message
change makefile and configure for clpbn


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1095 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-07-15 17:20:23 +00:00
vsc
f6503f0100 fix multithreaded version
include new version of Ricardo's profiler
new predicat atomic_concat
allow multithreaded-debugging
small fixes


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1085 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-06-29 19:04:46 +00:00
vsc
91f87b3109 more fixes for USE_SYSTEM_MEMORY
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1047 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-04-22 20:07:07 +00:00
vsc
5d79688b6b skip compilation steps for ground facts.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1026 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-03-10 16:27:39 +00:00
vsc
39044cd21c move to 4.5.3
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1023 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-03-08 19:31:01 +00:00
rslopes
6198cdb4bc Low Profiler Update
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1004 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-02-25 19:06:31 +00:00
vsc
f609e8b93b check read locking on PRWLock
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1002 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-02-22 00:35:07 +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
acbf57f59d improve threads support
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@976 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-02-11 01:20:56 +00:00
vsc
cacc407677 Bug fixes!
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@964 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-01-29 13:37:10 +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
80fd1bcc91 many fixes: restart on threads, fixes for tabling, other generic fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@954 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2003-12-27 00:38:53 +00:00
vsc
d6207a55f9 fix ensure_loaded to reload if called from a different module.
fix error handling in dbase.c


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@939 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2003-11-29 23:41:28 +00:00
vsc
f5edbc8aa7 compact source mode.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@934 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2003-11-21 16:56:20 +00:00
vsc
ff20288236 don't keep source for log update facts, just execute them to find out the
arguments.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@932 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2003-11-18 19:24:46 +00:00
ricroc
36e9ff7588 My first attempt to synchronize OPTYap with CVS
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@920 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2003-11-07 16:31:08 +00:00
vsc
526ec2e50f call the garbage collector the right way
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@902 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2003-10-17 02:11:21 +00:00
vsc
0afb07931f patches to Ricardo Lopes' low level profiler: enable if SIGPROF is
there, do sorting, init PROFPREDS when you start counters, keep time
stamps for eventual assert/retract, and use qsort (3) to do less work.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@829 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2003-05-20 19:11:59 +00:00
vsc
d22fe2107c fix trouble with B=NULL for compiler
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@828 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2003-05-19 16:47:58 +00:00
vsc
bd383b7e3f more fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@827 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2003-05-19 13:04:09 +00:00
vsc
d290885f8f new indexing algorithm
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@822 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2003-04-30 17:46:05 +00:00
rslopes
8509b82b18 *** empty log message ***
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@806 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2003-03-21 18:21:35 +00:00
rslopes
1febfedc9d added Low Profiler to yap
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@804 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2003-03-21 16:18:42 +00:00
vsc
1369dfa410 new meta-call scheme.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@751 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2003-01-29 14:47:17 +00:00
vsc
e2edae71c7 cleanup: typecast to yamop * instead of CODEADDR wherever possible.
Fix integer(233333833838383) fails bug (Roberto Bagnara).


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@733 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-12-27 16:53:09 +00:00
vsc
1530bf21ed compiler should check for variables first!
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@694 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-11-20 05:17:26 +00:00
vsc
d7f80ea1ad Stasinos noticed that _YAP_ breaks C standard: use Yap_ instead.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@691 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-11-18 18:18:05 +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
8d9d9cb4d5 optimise tail recursion when compiling lists.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@657 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-10-28 20:01:53 +00:00
vsc
d21021da0d get rid of UnCutable
a:(a(X),b(X)) should be the same as a:a(X), a:b(X). Use PushModPred to
force that.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@642 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-10-18 13:54:53 +00:00
vsc
523fae9544 stack overflow patches:
process overflows as high-level as possible;
   introduce overflow related errors
   ExpandWorkSpace should never call Error: use ErrorMessage instead,
   format_putc should never release memory, causes memory corruption,
   Linux does not like MAP_FIXED, it can overwrite the actual program
code.
   condor: twick configure to disable readline with condor.
----------------------------------------------------------------------


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@632 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-10-10 05:58:49 +00:00
vsc
342faf6d89 Insert Christian patches:
- uncutable predicates;
  - call_cleanup/2.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@615 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-10-03 13:54:35 +00:00
vsc
94e9529128 first cut at call counter.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@580 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-09-03 14:28:09 +00:00