Vitor Santos Costa
b02507ed22
fix 32 bit atoms to ensure alignment at 8 bytes (broken with blobs).
2010-12-02 11:49:58 +00:00
Vitor Santos Costa
10a3d52de0
Merge ../yap-6.2
2010-11-29 23:17:49 +00:00
Vitor Santos Costa
7b6f330bd3
improve blob support (but just skeleton).
2010-11-29 23:17:06 +00:00
Vítor Santos Costa
40be6b56f2
Merge branch 'master' of ../yap-6.2
2010-11-29 18:09:19 +00:00
Vítor Santos Costa
2a8854094b
halt_hooks should not be in save/restore, this will cause trouble.
2010-11-29 18:08:29 +00:00
Vítor Santos Costa
e509d11c2e
routines to copy rational terms to tree and vice-versa.
2010-11-01 20:11:28 +00:00
Vitor Santos Costa
9396252588
patches to provide initial support UTF32 encodings(from Paulo Moura)
2010-10-27 14:49:27 +01:00
Vitor Santos Costa
95acd408e7
support DragonFly BSD (patch from Aleksej Saushev)
2010-10-27 10:11:19 +01:00
Vitor Santos Costa
ab8911708b
fix YAP to use _longjmp when available. longjmp is just too expensive on OSX machines.
2010-10-26 22:03:36 +01:00
Vitor Santos Costa
d0cd5f3fa3
fix atom gc to actually recover first atom in the chain.
2010-10-26 10:04:36 +01:00
Vitor Santos Costa
9770904f6f
update version to next stable
2010-10-18 09:17:12 +01:00
Vitor Santos Costa
6ab7987c69
be stricter about what is an attributed variable: the previous definition allowed confusion if there was garbage in the local stack.
2010-10-15 13:14:37 +01:00
Vitor Santos Costa
45ce3a83ef
allow low level locking in OSX.
2010-10-15 13:14:24 +01:00
vsc
312d82816e
fix memory allocation (MMAP) for shared LOCAL and GLOBAL in ENV_COPY
2010-10-15 02:06:37 +01:00
vsc
72b8334358
imake predicates parallel by default.
2010-10-15 02:04:50 +01:00
Vitor Santos Costa
b27a9869bf
initialise for 1024 threads (report from Jiefie Ma).
2010-10-12 23:16:51 +01:00
Vitor Santos Costa
80c38081da
no need for special procceed instruction.
2010-10-12 22:02:51 +01:00
Vitor Santos Costa
fae29012a9
Merge branch 'master' of yap.dcc.fc.up.pt:yap-6
2010-10-11 14:46:53 +01:00
Vitor Santos Costa
e5232bc8fc
force system to check for overflows at end of procceed for clauses with body.
2010-10-11 14:45:15 +01:00
Vítor Santos Costa
61d99731c8
avoid recursion on very deep sequences of static indices.
2010-10-07 18:14:55 +01:00
Vitor Santos Costa
99c5a17b12
Implement Halt Hook (request from Bernd).
2010-09-24 14:00:53 +01:00
Vitor Santos Costa
e4a15cba33
div/2 operators (from WG17 and #176 )
2010-08-30 21:50:33 -05:00
Vítor Santos Costa
8592db72d7
start 6.0.7
2010-08-04 20:29:24 +01:00
Vítor Santos Costa
bebb236e32
improve SWI compatibility, especilaly for threaded stuff.
2010-08-04 11:37:12 +01:00
Vítor Santos Costa
c081d01e78
implement access_file/2 in C
2010-08-03 21:04:16 +01:00
Charlie
d62d88731d
NetBSD also exists.
2010-08-03 01:47:56 +01:00
Charlie
fd64559643
NetBSD compilation
2010-08-02 22:41:32 +01:00
Vítor Santos Costa
388f4fb782
expand C-interface to allow access to common term operations (request from Ingo Molnar).
2010-08-02 19:48:17 +01:00
Vítor Santos Costa
473fd5516d
small fix to Osbmp type instructions.
2010-08-02 19:47:29 +01:00
Vítor Santos Costa
ffc094e25f
make sure we have enough room before we enter a clause.
2010-08-02 18:20:03 +01:00
Vitor Santos Costa
3d6e223dae
support for space reservation (goal: call gc before trying to insert very large terms).
2010-08-02 13:04:30 +01:00
Vitor Santos Costa
30caf35bff
fix bad overflow handling in ==
2010-07-29 22:36:30 +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
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