Commit Graph

678 Commits

Author SHA1 Message Date
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