Commit Graph

930 Commits

Author SHA1 Message Date
Vitor Santos Costa
ccb7991a56 should not use PP for thread private
more lock tracing aids.
2010-07-28 11:26:20 +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
Vítor Santos Costa
18d77309a6 c_inp_stream and friends are thread private! 2010-07-27 17:28:58 +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
Vitor Santos Costa
eebff5df6a fixes to YAP C-thread interface. 2010-07-23 12:07:33 +01:00
Vítor Santos Costa
3dd68aa8bd fix EX: it cannot be a term and it should be a placeholder for BallTerm,
so the twp can never be alive at the same time.
2010-07-21 12:49:06 +01:00
Vítor Santos Costa
b61d69ffe8 allow SWI Interface to send/receive wide characters. 2010-07-21 10:58:24 +01:00
Vitor Santos Costa
396a0716c7 fix silly DEPTH_RESET definition. 2010-07-20 11:20:57 +01:00
Vitor Santos Costa
8edeead245 fix compilation warnings 2010-07-19 22:42:47 +01:00
Vitor Santos Costa
6ebc31f2d8 codes/2 functor (used by format). 2010-07-19 14:48:42 +01:00
Vitor Santos Costa
68a1ab6ce7 make sure that we don't have tails of lists with local variables. 2010-07-19 14:39:52 +01:00
Vitor Santos Costa
b2184ecb00 term export and import routines 2010-07-15 17:19:37 +01:00
Vítor Santos Costa
de2d6867ad isupport for improved SWI emulation. 2010-06-23 11:47:14 +01:00
Vitor Santos Costa
0ca38f0b57 amd64 locking does not work 2010-06-19 22:24:41 +01:00
Vítor Santos Costa
2d6fc978e4 fix for threading initialization 2010-06-19 14:38:04 +01:00
Vítor Santos Costa
bd50f087e9 imore SWI compat, including string fixes 2010-06-19 00:38:49 +01:00
Vítor Santos Costa
d1d149b9fd support for PL_ mpz and mpq ops
add missing atom_nchars
2010-06-18 23:24:36 +01:00
Vítor Santos Costa
cf90ace3e1 signal handling SWI style. 2010-06-17 08:20:34 +01:00
Vítor Santos Costa
0ff5195bd1 object loading support
blob objects (not supported yet)
2010-06-17 00:31:42 +01:00
Vítor Santos Costa
bf26536626 make frame structure thread local. 2010-06-14 09:26:32 +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
d1599bca8d fix extra uses of mpz_ in external code. 2010-05-28 15:29:20 +01:00
Vítor Santos Costa
ae2421951b fix comparison between terms when rationals come up. 2010-05-28 12:07:01 +01:00
Vítor Santos Costa
293dadb003 support for rational numbers
make floor and friends return an integer (make it closer to SICStus).
2010-05-28 09:53:56 +01:00
Vítor Santos Costa
09fef1a033 rational number support. First pass. 2010-05-27 12:24:15 +01:00
Vitor Santos Costa
fd9f4efe0b fix indexing of bignums (obs from Jos de Roo). 2010-05-14 12:42:30 +01:00
Vitor Santos Costa
a4344f5bf6 move to 6.0.6 2010-05-11 22:22:13 +01:00
Vítor Santos Costa
be2a3a635e L constants are evil in 64 bits 2010-05-11 12:25:49 +01:00
Vítor Santos Costa
c52dda489b be careful around 1L and friends 2010-05-11 00:18:12 +01:00
Vítor Santos Costa
faeef37a03 long -> Int 2010-05-10 10:21:56 +01:00
Vítor Santos Costa
11641c5f94 64 bit cleanups. 2010-05-06 15:00:44 +01:00
Vitor Santos Costa
ecaf6aa713 lookup with max lentgth 2010-05-06 10:58:25 +01:00
Vítor Santos Costa
950abd136e get rid of debugging info.
routines are only define with wctype.h
2010-05-05 12:51:38 +01:00
Vitor Santos Costa
f3b6a044f6 improvements to language support. 2010-05-05 12:45:11 +01:00
Vitor Santos Costa
950144a63f more experiments with format 2010-05-05 00:38:46 +01:00
Vitor Santos Costa
1a53fdc757 try to support size independent printf 2010-05-05 00:27:00 +01:00
Vítor Santos Costa
c8c34d4773 swi_reverse_hash was in a bad place. 2010-05-04 16:31:31 +01:00
Vítor Santos Costa
2be8bcb482 64 bit error 2010-05-04 14:53:05 +01:00
Vitor Santos Costa
764737fe5b add missing files. 2010-05-03 14:27:54 +01:00
Vitor Santos Costa
31554991c8 better emulation of SWI atom_t and functor_t. 2010-05-03 14:26:56 +01:00
Vítor Santos Costa II
23d01fc7a6 version 6.0.5 2010-05-01 12:20:28 +01:00
Vítor Santos Costa II
030539f33b PL_get_chars: Implement CVT_WRITE and CVT_WRITE_CANONICAL 2010-04-29 23:04:04 +01:00
Vitor Santos Costa
64528946d9 fix bad name for atom. 2010-04-28 00:32:37 +01:00
Vítor Santos Costa II
3272d5d230 inform about new module for system library 2010-04-22 12:11:15 +01:00
Vítor Santos Costa II
9f7df27e3a Merge branch 'master' of gitosis@yap.dcc.fc.up.pt:yap-6 2010-04-19 15:58:41 +01:00
Ricardo Rocha
1029828775 Merge branch 'master' of yap.dcc.fc.up.pt:yap-6 2010-04-19 02:36:14 +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
Vitor Santos Costa
2a7765ae5c make clear that some files are generated automatically. 2010-04-18 21:48:20 +01:00
Vítor Santos Costa II
dd182fdeac Merge branch 'master' of gitosis@yap.dcc.fc.up.pt:yap-6 2010-04-16 12:12:37 +01:00
Vítor Santos Costa II
0e431dcf24 prefetch on x86 2010-04-16 12:12:25 +01:00
Vitor Santos Costa
d68c7854bd make things run in sparc-64 2010-04-16 12:12:23 +01:00
Vitor Santos Costa
1cf17cc2fe improve type in token 2010-04-16 12:11:52 +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
Vítor Santos Costa II
c4b12d5cbe - fix memory leaks
- avoid unnecessary mallocs by having a first alloc to do th ework.
2010-04-15 22:23:54 +01:00
Vitor Santos Costa
28e006b484 Merge branch 'master' of yap.dcc.fc.up.pt:yap-6 2010-04-15 11:38:55 +01:00
Vitor Santos Costa
b737ce447f improve allocation through malloc: avoid allocating labels in the stack. 2010-04-15 11:37:39 +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
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
Vitor Santos Costa
4044684dea prototype UDI initializer. 2009-03-27 15:28:50 +00:00
Vitor Santos Costa
2aa5aa3a26 add -A flag to ask for more attributed stack. 2009-03-27 15:15:54 +00:00
Vitor Santos Costa
901161a413 patches to remove ints and be able to allocate a lot of memory in 64 bit mode. 2009-03-27 14:45:40 +00:00
Vitor Santos Costa
0d64daa393 fix thread complaints. 2009-03-26 00:39:57 +00:00
Vitor Santos Costa
4b65b063ca fixes for threads to compile and boot. 2009-03-24 13:27:36 +00:00
Vitor Santos Costa
77eaff31b8 cleanup stack shifting when inserting holes (growglobal). 2009-03-16 17:30:13 +00:00
Vitor Santos Costa
4ab17198b7 fix eval (quick fix). 2009-03-14 09:42:35 +00:00
Vitor Santos Costa
add296ba37 fix handling of holds. 2009-03-13 21:57:15 +00:00
Vitor Santos Costa
a1b58f61e0 conditional compilation of thread inlines 2009-03-13 12:06:57 +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
15b86cded4 new merged instructions and small changes to the emulator. 2009-03-03 10:04:13 +00:00
Vitor Santos Costa
d4eb240c41 try to get some more wiggle room. 2009-02-27 12:57:08 +00:00
Vitor Santos Costa
48eaa975f2 if we have many embedded calls to nb_queue, make sure we don't allocate a lot of memory for each one. 2009-02-27 00:31:29 +00:00
Vitor Santos Costa
51875c627a avoid excessive overflows and too large overflows in delay stack. 2009-02-26 23:06:27 +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
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
a000af113b OSX portability updates
start of support for commons prolog initiative
2009-02-16 12:25:03 +00:00
Vítor Santos Costa
8a6e0acedc compiler support for udi including user_index instruction 2009-02-12 21:35:31 +00:00
Vítor Santos Costa
4b826e76ae support for user defined indexing: step 1 basic routines. 2009-02-12 16:39:20 +00:00
Vitor Santos Costa
1191b039d5 include support for dynamically created clause lists. 2009-02-11 15:10:57 +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
fe85e92992 fixes for x86_64 compilation (with David Vaz). 2009-02-10 14:24:20 +00:00
Vítor Santos Costa
c750dd94f1 indexing code was not looking at tabled code. 2009-02-09 23:34:12 +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
76e521f3ff fix bad call of float/GMP routines. 2009-01-05 14:32:21 +00:00
Vítor Santos Costa
11eed457c1 use automatucally generate code to find indexing information. 2008-12-29 00:14:47 +00:00
Vítor Santos Costa
331d1830dd fix throw (it should undo bindings). 2008-12-29 00:11:05 +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
Vitor Santos Costa
f679f21a71 cleanup unnecessary MkFunctor 2008-12-23 02:20:22 +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
43e70f2003 more changes to support SWI Input/Output. Now it compiles, which does
not mean it would work!
2008-12-22 12:03:14 +00:00
Vítor Santos Costa
a2744ed186 further changes to better support SWI interface. 2008-12-17 14:47:05 +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
e737599dc4 Change to simpler Eval mechanism
- avoid duplicate code
- implement different optimised code.
2008-12-04 23:33:32 +00:00
Vítor Santos Costa
13dd600f88 add type to BIG NUMs, so that we can easily know what it is all about. 2008-11-28 15:54:46 +00:00
Vítor Santos Costa
e8cbc5034e first patch to isolate GMP code. 2008-11-28 15:54:08 +00:00
Vitor Santos Costa
e62ae6be36 improve handling of local stack expansion. 2008-11-14 14:54:25 +00:00
Vítor Santos de Costa
7f365f7377 make GC happen when we have 1/4 of total memory free.
There was a problem of not having enough room to put 10% of the heap.
2008-10-24 10:35:53 +01:00
Vitor Santos Costa
0dcf34b7bc mainbranch fixes to:
- fix quoted characters output
- fix line position in read_term and friends
- make messages look a bit better
- CLP(BN) EM improvements.
2008-10-23 22:17:45 +01:00
Vítor Santos de Costa
7207c18e65 fix longmp in trow not to recover trail. This way we do not need to do
copy_term/2 and we avoid losing the attributed variable stack.
2008-10-18 11:03:25 +01:00
Vítor Santos de Costa
2cdcf87044 fix yxn instruction type. 2008-10-07 22:32:15 +01:00
Vitor Santos Costa
bcb6edfb8a include PtoAtomHashEntryAdjust to reduce casts 2008-09-18 17:59:16 +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
5db95de67d first cut at making GPROF work on Leopard
based on Ocaml macport.
2008-09-18 17:34:46 +01: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
Vitor Santos Costa
f4100a8095 small update to instruction name 2008-09-12 14:09:29 +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
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
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
6063c019de generate rclause.h automaticallywq 2008-08-29 05:25:36 +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
Vítor Santos Costa
ff12e2bdbf use inlines instead of macros;
add ENV_Parent function, to walk an environment chain
2008-08-28 04:37:18 +01:00
Vitor Santos Costa
b6409fc980 fix weird instruction with tabling and new optypes;
fix a stray ld.
2008-08-22 03:54:10 +01:00
Vítor Santos Costa
f499115573 redo lost updates 2008-08-21 13:38:25 +01:00
vsc
258796098e fix d optype
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2313 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-22 02:03:39 +00:00
vsc
27c1f89dca small change to c* optypes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2312 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-22 02:01:27 +00:00
vsc
d170b34624 MaxOS fixes
Avoid a thread deadlock
improvements to SWI predicates.
make variables_in_term system builtin.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2304 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-12 01:27:23 +00:00
vsc
5776abb31c more thread fixes.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2301 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-08 14:05:34 +00:00
vsc
2581c3a3bf more threadin fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2300 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-07 20:51:23 +00: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
e1866e2917 improve C-interface and SWI comptaibility a bit.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2292 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-07-24 16:02:04 +00: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
dc53522604 small fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2289 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-07-16 10:58:59 +00:00
vsc
d8e5f2c895 fixes by Bart and Tom: mostly libraries but nasty one in indexing
compilation.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2286 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-07-11 17:02:10 +00:00
vsc
82d9ed1521 upgrade to 5.1.4
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2282 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-18 10:02:27 +00:00
vsc
39c4a2e67f fix c_interface not to crash when people try to recover slots that are
not there.
fix try_logical and friends to handle case where predicate has arity 0.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2278 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-17 13:37:51 +00:00
vsc
175a0ba6dd make sure we do trim_trail whenever we mess with B!
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2258 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-04 14:47:18 +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
7c24afa0f2 handle SIGPIPE and improve USR1 and USR2
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2242 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-23 10:02:13 +00:00
vsc
316811d2cd user:goal_expand should be called before import
add extra apply_macros and apply stuff; fix unexisting definitions.
add forall/2 and ignore/1 to system stuff.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2237 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-15 13:41:48 +00:00
vsc
a25234a2da fix -(2<<100).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2236 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-13 10:37:27 +00:00
vsc
897224b36e fix previous fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2235 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-12 22:31:37 +00:00
vsc
f4173813ff updates to restore
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2234 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-12 14:04:23 +00:00
vsc
257c3a2cbc fix threads and LU
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2233 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-10 23:24:13 +00:00
ricroc
4677a5ba10 yapor: seq_def initialization
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2216 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-11 16:58:17 +00:00
vsc
12e18227bb more small fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2213 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-06 12:06:48 +00:00
vsc
0c4388a66b fix some restore bugs
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2212 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-06 11:53:02 +00:00
vsc
042e5326d3 restore was restoring twice
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2205 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-04 09:10:02 +00:00
vsc
708e69a670 fix restorebb in cases entry key is not an atom (obs from Nicos
Angelopoulos)


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2200 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-03 11:34:47 +00:00
vsc
929ec2412f handle out of memory error at thread creation (obs from Paulo Moura).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2190 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-02 17:37:07 +00:00
vsc
70b3438293 separate MAX_WORKERS and MAX_THREADS (obs from Paulo Moura)
MAX_AGENTS can be used in all cases


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2189 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-02 15:41:50 +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
a8fe6a668e more saved state fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2185 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-01 15:31:43 +00:00