Commit Graph

723 Commits

Author SHA1 Message Date
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
719089b96b make PL_is_initialised honest :) 2010-04-13 00:31:48 +01:00
Vítor Santos Costa II
b1621d033a export type of foreign fields. 2010-04-10 21:20:00 +01:00
Vítor Santos Costa II
0df80db205 protect from looking at unused fields 2010-04-10 21:19:31 +01:00
Vítor Santos Costa II
e9fce7c755 fix bad while: pred chain will be restored through pred hash table. 2010-04-09 11:55:36 +01:00
Vitor Santos Costa
45473e939b fix previous patch for restoring PredHashTable. 2010-04-09 11:46:59 +01:00
Vítor Santos Costa II
143022e6aa fix bad restore: we would just restore the first predicate with same name (obs from Nuno Fonseca). 2010-04-08 00:52:00 +01:00
Vitor Santos Costa
55b464dace export Yap_WinError 2010-04-07 01:35:44 +01:00
Vitor Santos Costa
9110c4db71 if we use malloc, get memory out of malloc instead of using stacks. This is in order to avoid growing stacks that never contract again. 2010-03-31 15:51:18 +01:00
Vitor Santos Costa
91542c7be1 avoid bad alignment on 64 bits. 2010-03-30 09:16:20 +01:00
Vítor Santos Costa II
b068721c68 fix type warnings. 2010-03-22 15:01:54 +00:00
Vitor Santos Costa
0c28e58dd4 do not randomise initial address. 2010-03-22 00:11:54 +00: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
1245c85ba1 move to version 6.0.4 2010-03-16 01:16:36 +00:00
Vitor Santos Costa
54c0209d3a give macros to reset and update chain of attvars in term copy. 2010-03-15 14:19:45 +00:00
Vitor Santos Costa
117647f552 fix test 2010-03-14 09:32:31 +00:00
Vitor Santos Costa
3683da028a use correct tests. 2010-03-14 09:31:04 +00:00
Vitor Santos Costa
2908d4ccbd fix: size of quue went down. 2010-03-12 22:40:17 +00:00
Vitor Santos Costa
53b4828000 new Atts Code. 2010-03-08 09:24:11 +00:00
Vitor Santos Costa
ba091eb2f9 support db_ref_e: 2010-03-06 22:43:21 +00:00
Vitor Santos Costa
9083dc5633 new functor for attributed variables. 2010-03-06 22:34:49 +00:00
Vitor Santos Costa
43a1a754dd erf function (patch from Bernd Gutmann). 2010-03-05 00:01:04 +00:00
Vitor Santos Costa
50b692d2c1 change release to 6.0.3 2010-03-04 09:13:06 +00:00
Vitor Santos Costa
145e66063b inc version to 6.0.2 2010-03-01 23:06:25 +00:00
U-Khasa\Vitor
46f0a0644c fix bad restore of operators (obs from Paulo Moura) 2010-03-01 11:52:42 -06:00
Vitor Santos Costa
7037b38fa7 make nb_ undefined variable return an error, as SWI does. 2010-02-28 00:57:29 +00:00
Vitor Santos Costa
0bdea36358 6.0.1 2010-02-27 10:11:32 +00:00
Vitor Santos Costa
5778730b62 be less enthusiastsis about writing (op). 2010-02-26 14:14:10 +00:00
Vitor Santos Costa
d7c74d8888 fix missing commit for syntax_erro 2010-02-26 13:30:16 +00:00
Vitor Santos Costa
038b74493c more ATOM changes. 2010-02-26 10:59:43 +00:00
Vítor Santos Costa
dddad72a0e AtomDouble was not defined correctly. 2010-02-19 14:16:57 +00:00
Vitor Santos Costa
f5bba7b8f7 fix indexing of dbrefs (obs from Nicola di Mauro). 2010-02-12 15:51:31 +00:00
Vitor Santos Costa
05c3b22322 fix tabling compilation 2010-02-10 13:16:08 +00:00
Vitor Santos Costa
95e596a8a1 make LOCAL a register 2010-02-10 09:22:20 +00:00
U-Khasa\Vitor
33190e290d mingw complaint with recent versions of gcc 2010-02-10 03:03:03 -06:00
vsc
f8070bdd59 YAPOR: lock memory allocation under YAPOR/dlmalloc 2010-02-03 22:54:47 +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
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
139fc6c440 small fixes for CUT_C 2010-01-28 15:42:49 +00:00
Vitor Santos Costa
f9bf676cb8 disable BP_FREE on 64 bits amd64 2010-01-27 11:00:25 +00:00
Vítor Manuel de Morais Santos Costa
bcc4a27206 cut_succeed and cut_fail should recover pool of try_c and should
do trim_trail (not that the latter really matters).
2010-01-26 18:03:09 +00:00
Vitor Santos Costa
5cd85f4eaa export Yap_IsGroundTerm(t) 2010-01-25 12:28:49 +00:00
Vitor Santos Costa
ad3bf0b178 pthread_locking is required for CYGWIN and Mac. 2010-01-22 22:30:43 +00:00
Vítor Manuel de Morais Santos Costa
3a0179ca9d fix XOPEN_SOURCE complaint. 2010-01-21 15:05:30 +00:00
Vitor Santos Costa
2edc06b6a2 fix unifiable for attributed variables (obs from Jiefei Ma). 2010-01-21 09:47:55 +00:00
Vítor Manuel de Morais Santos Costa
af32dc1a9c make cut_c default. 2010-01-15 15:09:18 +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
e41c7a05c1 fix restoring of LU try chains. 2010-01-12 10:08:38 +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
Vitor Santos Costa
a7e6c5672e try to speed up eval a bit. 2010-01-04 21:16:42 -02:00
Vitor Santos Costa
6d1eec34db make atom locking compatible with SWI-Prolog. 2009-12-21 10:12:47 -02:00
Vitor Santos Costa
79a1d3e13c fix thread stuff (obs from Jiefei Ma). 2009-12-17 23:55:09 -02:00
Vitor Santos Costa
df2b11a6ec define Optype for xxc, for instructions whose constant argument is a term, like functor(a,X,T). 2009-12-06 00:37:48 +00:00
Vítor Manuel de Morais Santos Costa
1176f71f3a support for making sure exceptions are reset when they should be reset (obs from Nuno Fonseca, #159) 2009-12-03 17:48:25 +00:00
Vitor Santos Costa
d2da5bfe26 fix setup_call_cleanup and friends. 2009-12-03 02:13:22 +00:00
Vitor Santos Costa
06d30b9fc9 Jump and Throw need to store the term away, if they try to use arena
the term will hang in the stack (#152).
2009-12-02 21:59:41 +00:00
Vítor Manuel de Morais Santos Costa
506da0b1bf make write always protect operators when they are not used as operators so as to follow standard (#150). 2009-11-27 16:09:48 +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
2ab3308a56 fix restore of opentries. 2009-11-25 00:38:05 +00:00
U-Xato7\Vsc
25b5464fe8 handle correctly next element after operator property. 2009-11-23 16:02:05 +00:00
Vítor Manuel de Morais Santos Costa
b300db2e96 LOW_PROF uses FILE structure, and therefore requires stdio.h 2009-11-23 13:52:13 +00:00
Vitor Santos Costa
ffe1dfdfff support for module based operators. 2009-11-20 00:33:14 +00:00
Vitor Santos Costa
73bba98946 add extra protection against useless shifts. 2009-11-20 00:31:09 +00:00
Vitor Santos Costa
26e4ce7e27 fix bug in restore operators. 2009-11-20 00:30:36 +00:00
Vitor Santos Costa
8c1ba9562a fix bad test in tabling mode. 2009-11-19 08:33:10 +00:00
Vitor Santos Costa
9cbdf8f57e tiny cleanups. 2009-11-18 23:36:07 +00:00
Vitor Santos Costa
7ddaaa1362 Term is Unsigned so you cannot add a negative to it and get away :( 2009-11-18 23:33:09 +00:00
Vitor Santos Costa
dcf7e282c8 bugs in restoring Heap: stuff repeated twice or at bad locations. 2009-11-18 23:32:31 +00:00
Vitor Santos Costa
6c887452e6 allow randomization of initial address, this enables testing restore routine. 2009-11-18 23:32:00 +00:00
Vítor Manuel de Morais Santos Costa
7155fbec22 fix bad ordering in HEAPFIELDS: OPERANDS must be well placed before we can
recover atom table and dependent preds.
2009-11-18 15:48:29 +00:00
Vitor Santos Costa
832f3d2e4a fix missing header for Yap_rational_tree_loop 2009-11-17 02:07:06 +00:00
Vítor Manuel de Morais Santos Costa
146718c060 fix bad call to tabling data structures. 2009-11-03 15:06:48 +00:00
Vítor Manuel de Morais Santos Costa
7fddfbc189 fix bad tabling restore. 2009-11-02 16:43:24 +00:00
Vitor Santos Costa
15fc06764a fix declaration and message_hook/3 (obs from Paulo Moura) 2009-11-02 12:53:51 +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
Vítor Manuel de Morais Santos Costa
6a8cee8b79 compilation fixes 2009-10-31 00:18:13 +00:00
Vitor Santos Costa
923094bd01 more updates to HEAPFIELDS. 2009-10-30 23:59:00 +00:00
Vitor Santos Costa
7116d1385b move more fields to HEAPFIELDS 2009-10-28 15:53:23 +00:00
Vitor Santos Costa
838b14cb77 more data structures. 2009-10-28 15:20:46 +00:00
Vitor Santos Costa
d3f969e1b1 various_codes includes all the head pointers to the code space. Try to
centralise everything in a single file (HEAPFIELDS) and generate them
from a Prolog script (buildheap).
2009-10-28 13:11:35 +00:00
Vitor Santos Costa
d373f23b50 make some sense of the mess that was various_codes * 2009-10-27 10:48:37 +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
253444d7ca support parms.h
pass argv[0]
2009-10-23 09:09:16 +01:00
Vitor Santos Costa
da0186a0aa fix unused stuff. 2009-10-21 08:35:09 +01:00
Vitor Santos Costa
0f99e336cc YAPVERSION 2009-10-21 00:20:18 +01:00
Vitor Santos Costa
c6e16a608a fix @ option in format/2 2009-10-21 00:07:31 +01:00
Vítor Manuel de Morais Santos Costa
54465b08f1 support ISO extension popcount/1 2009-10-20 10:03:10 +01:00
Vítor Manuel de Morais Santos Costa
36e0c6bcf7 support for msb 2009-10-20 09:50:51 +01:00
Vítor Manuel de Morais Santos Costa
d18cb214fa implement epsilon (from ISO) 2009-10-20 09:21:59 +01:00
Vítor Manuel de Morais Santos Costa
463348bb2f fix memory collision in allocatng mmap 2009-10-16 08:09:22 +01:00
Costa Vitor
dbd5b09303 make low_level_tracer compile sequentially, again. 2009-08-20 09:38:30 -05:00
Costa Vitor
3cbdc8d14a make low level tracer understand yapor. 2009-08-19 23:46:51 -05:00
Costa Vitor
f877e78785 make YAP compile with --enable-or-parallelism 2009-08-19 21:53:49 -05:00
Costa Vitor
84646ee581 make includes compatible with configure.in 2009-08-19 20:22:49 -05: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
Vitor Santos Costa
1fa608010a for some reason, tabling codes likes using cp_ap == NULL for SLD complete goals. 2009-07-31 08:31:17 -05:00
Vitor Santos Costa
daa05caf86 Merge branch 'master' of gitosis@yap.dcc.fc.up.pt:yap-6 2009-07-28 21:38:26 -05: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
Costa Vitor
93c6e65b7e tabling would set ap=NULL on producers and SLD nodes. Set SLD trusted nodes to TRUST_FAIL. 2009-07-24 15:08:07 -05:00
Vitor Santos Costa
6e3830aa4b improve error handling in arithmetic comparison (obs from Jose Santos) 2009-07-08 10:32:14 -05: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
c47da032a8 Merge branch 'master' of gitosis@yap.dcc.fc.up.pt:yap-6 2009-06-24 20:06:00 +01:00
Ricardo Rocha
eeb62b63b4 support for trie compact lists 2009-06-24 20:04:16 +01: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
Costa Vitor
8e74daf39e modern versions of Solaris use these registers for thread support. 2009-06-16 21:21:06 -05:00
Costa Vitor
9569d04a9f remove some warnings in the absence of GMP 2009-06-15 10:11:05 -05:00
Vitor Santos Costa
3ae6f583ec include AtomInStackExpansion 2009-06-13 16:05:45 -05:00
Vitor Santos Costa
475e681907 do fetch and remove a the same time: PopFromDB 2009-06-13 13:06:02 -05:00
Costa Vitor
15519fa3cd tightenn conditions on JumpExec 2009-06-05 18:45:41 -05:00
Vitor Santos Costa
4e5fe4186f fix bad test for bignum condition. 2009-06-05 14:19:02 -05:00
Costa Vitor
5e4be93491 able to commit 64 bits 2009-06-05 12:18:10 -05:00
Vitor Santos Costa
7e108201b0 fix memory leak in mod. 2009-06-05 10:55:28 -05:00
Costa Vitor
5da51d615d fix crashes in 64-bit mode with unknown predicates. 2009-06-03 15:27:53 -05:00
Costa Vitor
7f54acb536 separate standard alarm from virtual alarm. timeout uses virtual alarm #112 2009-06-03 10:09:14 -05:00
Costa Vitor
11214d6ba9 fix atom garbage collector when found a wide atom (rep from Simon Strobl). 2009-06-02 09:51:57 -05:00
Vitor Santos Costa
dbfccfced5 fix flags from int to Int 2009-06-01 15:37:32 -05:00
Vitor Santos Costa
d6ed058157 first pass at a decent implementation of PL_error (#95)
- basically copy SWI code.
2009-05-30 12:52:23 -05:00
Vitor Santos Costa
488a230169 fix unification core dump. 2009-05-24 15:15:05 -05:00
Vitor Santos Costa
81970013ed allow storing a pointer. 2009-05-24 15:14:44 -05:00
Vitor Santos Costa
f79d79e926 replace TYPE_ERROR_VARIABLE for attributes #57 2009-05-22 21:51:48 -05:00
Vitor Santos Costa
264d9322b9 fix compiler warning messages. 2009-05-22 21:33:09 -05:00
Costa Vitor
7304fbda13 fix lack of streams message (Ulrich Neumerkel #60) 2009-05-22 19:55:18 -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
Costa Vitor
cfbd2f8886 use types in unification algorithm, makes the rest simpler. 2009-05-22 15:21:14 -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
9852f7781d - simplify error handling in arithmetic and handle infinite terms (#46) 2009-05-22 11:21:39 -05:00
Vitor Santos Costa
efcf162aa6 use interrupts_disabled instead of enabled. 2009-05-21 00:38:04 -05:00
Vitor Santos Costa
c7066b43ec first try of setup_call_cleanup/3 and setup_call_catcher_cleanup/4 2009-05-19 23:53:14 -07:00
Vitor Santos Costa
ae5bf4d6e7 support resource errors for out of memory conditions.
improve stack dump message.
2009-05-17 09:42:56 -07:00
Vitor Santos Costa
8e7695a42c make Yap_Eval only on entry. 2009-05-16 22:41:44 -07:00
Vitor Santos Costa
39ccbd345d make options -T -L -G work as SWI: they impose a maximum size limit 2009-05-10 13:36:55 -04:00
Vitor Santos Costa
bc39647627 fix gmp-less compilation (Tony Wilson). 2009-05-02 12:34:49 -05:00
Vitor Santos Costa
ecb54b0f63 fix syntax error (again!) 2009-04-27 18:28:43 -05:00
Vitor Santos Costa
9c4e4b12bb fix syntax error without GMP 2009-04-27 17:20:53 -05:00
Vitor Santos Costa
61ad7c6da8 fix non-gmp calls to arith2 2009-04-26 19:24:21 -05:00
Vitor Santos Costa
a89f9a35ba keep a reminder that maybe we want to be careful about stack expansion. 2009-04-26 11:16:56 -05:00
Vitor Santos Costa
c132e7e6ec fix gmp support to give out of resource error if the bignum is too big. 2009-04-25 11:01:33 -05:00
Vitor Santos Costa
2503805aff support 2^2 is 4 and not 4.0: complicated if we have to deal with bignums. 2009-04-24 19:03:00 -05:00
Vitor Santos Costa
b5dc71d080 is_list/1 is now a builtin. 2009-04-24 10:31:53 -05:00
Vitor Santos Costa
6acf7eeb0a fix bad ordering in tests 2009-04-23 10:36:11 -05:00
Vitor Santos Costa
35f38c93be declare nw function 2009-04-22 17:34:08 -05:00
Vitor Santos Costa
700ea83b17 array name should $array, not array 2009-04-22 11:34:23 -05:00
Vitor Santos Costa
9ef1b5cb4f shift vesion number. 2009-04-08 00:49:54 +01:00
Vitor Santos Costa
b92b026c90 more patches to support Anderson's JIT. 2009-04-08 00:32:36 +01:00
Vitor Santos Costa
b2ad3bd000 first cut at Anderson's JIT code. 2009-04-07 23:55:16 +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
a2b6c0c529 allow YAP to compile without GMP. 2009-03-27 15:32:22 +00:00