Vitor Santos Costa
79a1d3e13c
fix thread stuff (obs from Jiefei Ma).
2009-12-17 23:55:09 -02:00
Vitor Santos Costa
5b8dc25eff
fix locking stuff.
2009-12-17 16:11:02 -02:00
Vitor Santos Costa
6aff7bda59
fix initialization in threaded version.
2009-12-17 16:03:00 -02:00
Vítor Manuel de Morais Santos Costa
48861db34e
fix bad testing of choice-point in throw (tabling bug?)
2009-12-12 23:22:10 +00:00
Vitor Santos Costa
1486b97e75
YAP added / to WIN32 file names (obs from Jose Santos).
2009-12-11 09:49:47 +00:00
Vitor Santos Costa
ac2cf2434a
prolog_flag executable (obs from Aubrey Barnard).
2009-12-10 01:16:29 +00: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
783c5ed6bc
fix excessive untrailing in C-code interface (obs from Nuno Fonseca).
2009-12-04 22:58:46 +00:00
Vítor Manuel de Morais Santos Costa
72e2a9658e
make volatile part of the system (SWI compatibility).
2009-12-04 18:24:22 +00:00
Vitor Santos Costa
97a27bd4b6
[ ] and {} should be handled by the scanner, not the parser (obs from Paulo Moura).
2009-12-03 22:51:29 +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
1bbf7ff16c
| should use operator priority, not some built-in ( #156 )
2009-12-03 09:41:28 +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
Vitor Santos Costa
8213d52af4
fix bad call to realloc (nf patches).
2009-11-27 18:46:11 +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
69988d0718
harmonize | priority ( #149 )
2009-11-27 15:55:46 +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
d746afaa32
UserCode may changed YENV, so be careful, be very careful! (obs from Nuno Fonseca).
2009-11-27 13:14:30 +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
Vítor Manuel de Morais Santos Costa
7f5da32c08
fix trail when you do a jumpenv (Ulrich Neumerkel #152 )
2009-11-25 09:47:38 +00:00
Vitor Santos Costa
50d720a9c6
fix current_op/3 by walking over the chain of ops or properties and moving complex code to Prolog (obs from Paulo Moura).
2009-11-25 00:38:47 +00:00
Vitor Santos Costa
ccaab728af
handle user operators as "prolog" operators.
2009-11-25 00:38:29 +00:00
Ricardo Rocha
7640d65609
Merge branch 'master' of gitosis@yap.dcc.fc.up.pt:yap-6
2009-11-23 18:49:23 +00:00
Ricardo Rocha
8a557012dd
add primitive YAP_IsLongIntTerm to the C Language interface.
2009-11-23 18:46:57 +00:00
U-Xato7\Vsc
5e70ff47b3
TrueFileName was rewriting input atom in WIN32 :( (obs from Jos Deroo)
2009-11-23 18:42:28 +00:00
U-Xato7\Vsc
691abd8243
check_opcodes is unused in WIN32_, don't declare it.
2009-11-23 16:01:41 +00:00
Vitor Santos Costa
c6406b822b
prolog: multifiles are not really system predicates (they can be redefined).
2009-11-23 10:10:47 +00:00
Vitor Santos Costa
6852a0c861
make =@= an well known alias to variant.
2009-11-23 10:10:14 +00:00
Vitor Santos Costa
657e0a13bd
inline implemetation of a(2,1,X) should not return error, just silently fail.
2009-11-23 10:06:13 +00:00
Vitor Santos Costa
d637451bd6
make sure to put TR correctly (fixes copying DB terms with att vars #148 )
2009-11-21 00:23:03 +00:00
Vitor Santos Costa
58cac4c8eb
fixes for SYSTEM_MALLOC case (where we cannot trust Yap_HeapTop and Yap_HeapBase).
2009-11-20 08:52:00 +00:00
nf@khaixa.(none)
1bfbe535da
Extended support for SWI-Prolog C interface.
2009-11-20 08:42:22 +00:00
Vitor Santos Costa
ffe1dfdfff
support for module based operators.
2009-11-20 00:33:14 +00:00
Vitor Santos Costa
d476e36a90
initialise LOCAL in system_malloc (obs from Jose Santos).
2009-11-19 08:25:08 +00:00
Vitor Santos Costa
d9016fa650
init_local should be called Yap_init_local to avoid clashesh.
2009-11-19 08:24:38 +00:00
Vitor Santos Costa
9cbdf8f57e
tiny cleanups.
2009-11-18 23:36:07 +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
71de4ed52a
Merge branch 'master' of gitosis@yap.dcc.fc.up.pt:yap-6
2009-11-18 13:13:51 +00:00
Vítor Manuel de Morais Santos Costa
c108ac508d
check for callable before looking at predicate terms...
2009-11-18 13:13:16 +00:00
Vítor Manuel de Morais Santos Costa
a316090f8c
fix nth_instance: fix bugs and actually add two versions (obs from Theofrastos Mantadelis)
2009-11-18 13:06:37 +00:00
Vítor Manuel de Morais Santos Costa
f31aeff952
fix bad order of comparison in NthClause.
2009-11-18 12:48:22 +00:00
Vitor Santos Costa
939eda0050
just be consistent in calls.
2009-11-17 10:04:07 +00:00
Vitor Santos Costa
945fff50a2
we should only recover H after we backtrack, never before.
2009-11-17 10:03:14 +00:00
Vitor Santos Costa
1c52d17a4d
get_bom should consider the case the file is empty.
2009-11-17 02:37:29 +00:00
Vitor Santos Costa
7b85efff0c
subsumes should check for loops (Ulrich's #146 ).
2009-11-17 02:08:01 +00:00
Vitor Santos Costa
b7646836b6
remove some weird white spaces.
2009-11-17 02:07:48 +00:00
Vitor Santos Costa
832f3d2e4a
fix missing header for Yap_rational_tree_loop
2009-11-17 02:07:06 +00:00
Vitor Santos Costa
c51c17aa52
make sure to get valid terms in meta_call, not references.
2009-11-17 00:23:34 +00:00
Vítor Manuel de Morais Santos Costa
99b2347cd8
SWI supports xor operator.
2009-11-11 10:54:38 +00:00
Vítor Manuel de Morais Santos Costa
8ecac6c2f9
sebuf on stdin was called if any std stream was a tty. Bad. (obs from Ashwin Srinivasan).
2009-11-10 11:25:56 +00:00
Vítor Manuel de Morais Santos Costa
b5ad71c9c1
improve functor tracing
2009-11-10 11:25:39 +00:00
Vítor Manuel de Morais Santos Costa
8f46f3d71d
fix bad passing of ! destination if we were running at an exec: affected debugger.
2009-11-04 12:17:17 +00:00
Vítor Manuel de Morais Santos Costa
2fdf8e9bda
fix bad ! register when calling continuation of meta-predicate (obs from A Kimmig).
2009-11-03 23:17:06 +00:00
Vítor Manuel de Morais Santos Costa
69d34fb0ce
fix over zealous cleaning of attributed variables in heapgc.c
2009-11-03 15:07:48 +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
bda231f24d
Use "Foreign.h"
2009-10-31 00:02:17 +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
36a7e5c59e
fix error handling in syntax_error (don't assume ARG2 has the output).
2009-10-26 22:56:18 +00:00
Vitor Santos Costa
4c8eb33e06
we had args already (no need for argv0)
...
improve error handling in YAP_ReadBuffer
2009-10-26 10:42:19 +00:00
Vitor Santos Costa
0ea348c26d
extend SWI interface with PL_toplevel and to handle C++ code.
...
prolog/0 built-in
fixes to parms.h changes.
2009-10-23 16:50:43 +01: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
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
91b47a438b
indenting stuff.
2009-10-19 16:39:06 +01:00
Vítor Manuel de Morais Santos Costa
230d8f504f
should make sure when we reset a trail_entry it looks like a variable pointer.
2009-10-19 16:37:25 +01:00
Costa Vitor
56d37591a5
fix var_in_term
2009-09-12 17:17:16 -05:00
Costa Vitor
a1d44f068e
fix stupid typo.
2009-09-12 16:45:00 -05:00
Costa Vitor
c0fd49df34
fix bad functor in heap routines.
2009-09-12 16:44:28 -05:00
Costa Vitor
32122f4171
make sure we have enough room when splitting mega clause.
2009-09-12 16:43:44 -05:00
Costa Vitor
fc28a49122
just use stderr
2009-09-12 16:43:18 -05:00
Vitor Santos Costa
1e905eb5ef
allow unification not to bound a variable.
2009-09-09 17:59:25 -05:00
Costa Vitor
d02c9d23c2
handle cases where test is called with unbound variable.
2009-08-31 23:59:34 -05:00
Costa Vitor
4431682276
get rid of unused variable.
2009-08-31 23:58:05 -05:00
Costa Vitor
a00c69b6f7
badly initialised memory stream (obs from J Santos).
2009-08-31 23:56:00 -05:00
Costa Vitor
3cbdc8d14a
make low level tracer understand yapor.
2009-08-19 23:46:51 -05:00
Costa Vitor
33085fd8d1
fix YAPOR not being threadtes as threads.
2009-08-19 22:44:48 -05:00
Costa Vitor
f877e78785
make YAP compile with --enable-or-parallelism
2009-08-19 21:53:49 -05:00
Costa Vitor
418fa1a396
64 bit machines may be using S while calling ExpandIndex.
2009-08-19 20:22:04 -05:00
Costa Vitor
40ea33c150
Merge branch 'master' of gitosis@yap.dcc.fc.up.pt:yap-6
2009-08-12 10:01:34 -05:00
Costa Vitor
dccf3cf8a2
assert logupd should set the clause in use (obs by Jose Santos).
2009-08-12 10:00:38 -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
Ricardo Rocha
4f6676e5af
fix garbage collector for deterministic tabling (still very
...
experimental)
2009-08-08 05:02:27 +01:00
Ricardo Rocha
fc31e7066e
improve the support for deterministic tabling (still experimental,
...
problems mainly with the garbage collector)
2009-08-07 17:29:53 +01:00
Ricardo Rocha
981bee74f0
fix garbage collector for dealing with float/longint trie instructions
2009-08-07 04:34:48 +01:00
Ricardo Rocha
7d50687c46
stdio.h include missing
2009-08-07 00:16:21 +01:00
U-Khasa\Vitor
f68cc92bce
make sure binary files are open as binary in WIN32 (obs from Meera Sridhar).
2009-08-02 16:04:21 -05:00
U-Khasa\Vitor
2c53d1f8ed
fix error message in put
2009-08-02 15:54:27 -05:00
Vitor Santos Costa
5327c8bfe7
gc of tabling cps: now, if current cp is in gen chain, mark it as completion,
...
otherwise, mark it as trust_fail.
2009-07-31 08:29:27 -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
59e0f71a7d
trust_fail needs not to mark environments, but in contrast termination needs.
2009-07-24 15:07:39 -05:00
Vitor Santos Costa
11fb9183e1
make sure we track both producers and consumers (I am not sure we need to track
...
producers, though)
Always mark choicepoint, even if cp_ap==NULL (fixes wine).
2009-07-23 23:13:16 -05:00
Vitor Santos Costa
22ac3ee80b
Use >< for xor (Paulo Mour, Iso meeting)
2009-07-23 14:31:04 -05:00
Vitor Santos Costa
a1e6a2baa7
bad priority for +/1. (Paulo Moura, ISO)
2009-07-23 14:27:04 -05:00
Vitor Santos Costa
7155aa943f
make sure that variables in tabled predicates are safe for backtracking: new
...
variables should be bound carefully.
2009-07-22 23:28:04 -05:00
Costa Vitor
4882cefa12
get rid of debugging code.
2009-07-22 17:02:56 -05:00
Costa Vitor
0e2d3e3a91
fix bad argument processing in non-inlined arithmetic comparisons.
2009-07-22 17:02:02 -05:00
Costa Vitor
c8946e1e4e
support inline arithemtic builtins as non-inlined.
2009-07-22 17:01:30 -05:00
Costa Vitor
d9a48c4014
disable inlining in tabled predicates (maybe a bit too harsh).
2009-07-22 17:00:49 -05:00
Vitor Santos Costa
c1024caa53
Unify emptylist of variables if one reads EOF.
2009-07-21 00:11:44 -05:00
U-Khasa\Vitor
d67332dc19
Improve error handling when loading DLLs
2009-07-20 20:55:22 -07:00
Costa Vitor
869671fb1b
make sure to have trail entries reset on setjump (obs from Jose Santos).
2009-07-17 19:31:20 -05:00
Costa Vitor
66683aeef9
slots were not inited in tabling code, due to bad ifdef (obs from Chris Mungall).
2009-07-17 18:39:50 -05:00
Costa Vitor
390408d5af
fix checking profiled choice-points (obs from Jose Santos).
2009-07-15 22:16:05 -05:00
Costa Vitor
0b85333018
fix int/UInt messup.
2009-07-15 17:29:26 -05:00
Costa Vitor
8a38c64441
fix uninitialised variable (valgrind).
2009-07-15 14:27:56 -05:00
Costa Vitor
8569aacfe5
check for very long wchar_t strings when scanning (obs from Jan Wielemaker).
2009-07-15 14:26:56 -05:00
Vitor Santos Costa
a1775fb031
Merge branch 'master' of gitosis@yap.dcc.fc.up.pt:yap-6
2009-07-13 21:58:29 -05:00
Vitor Santos Costa
11cefa668a
handle overflow error in YAP_MkPairTerm ( obs from Fabrizio Riguzzi).
2009-07-13 21:55:57 -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
Costa Vitor
026a666055
trail check on C entry: make sure we don't have unhandled trail overflows.
2009-06-26 14:08:15 -05:00
Costa Vitor
772d091a70
fix bad call to retry_counter
2009-06-26 13:16:42 -05:00
Costa Vitor
69c0a52548
Revert "ENV may not be in scope of catch in very special cases (eg, call counter)."
...
This reverts commit 15f9a68a35
.
Botch!
2009-06-26 13:04:07 -05:00
Vitor Santos Costa
15f9a68a35
ENV may not be in scope of catch in very special cases (eg, call counter).
2009-06-26 09:15:19 -05:00
Vitor Santos Costa
ff20a23e64
stop counters at counter underflow event
2009-06-26 08:42:40 -05:00
Vitor Santos Costa
4d6cd779cb
fix warnings.
2009-06-25 22:31:02 -05:00
Costa Vitor
924cf77fed
fix another loop in spy_pred.
2009-06-23 23:24:16 -05:00
Costa Vitor
058b389566
asserta dynamic predicates should not kill preexisting code.
2009-06-23 06:51:28 -05:00
Costa Vitor
246d32551a
do not set PREG until being sure we have to jump
2009-06-23 06:50:53 -05:00
Costa Vitor
2588f5b7c5
make sure we count built-ins.
2009-06-22 16:03:14 -05:00
Costa Vitor
09f5a9ccb1
make YAP ask less space in deeply nested calls of findall.
2009-06-22 15:37:17 -05:00
Costa Vitor
d8595221d0
optimise sub_atom when sub_atom is known.
2009-06-22 15:35:40 -05:00
Costa Vitor
d47560342c
more fixes to call_counter: try to keep on counting system builtins.
2009-06-22 12:40:55 -05:00
Costa Vitor
50f7a80546
transfer call and profiler to spy.
2009-06-22 11:12:56 -05:00
Costa Vitor
bf9091b5ed
fix bug in copyterm
2009-06-17 14:43:24 -05:00
Costa Vitor
53fa330d90
always use YREG, not YENV, in case we have enough registers.
2009-06-16 21:20:35 -05:00
Costa Vitor
de5a09039f
no_readline patches
...
avoid warnings in no_gmp world
avoid complaining by Solaris
2009-06-15 14:59:50 -05:00
Costa Vitor
7f0a712c88
fix call to trim_trail on solaris
2009-06-15 13:51:30 -05:00
Costa Vitor
f5a72828a0
fix SPARC register allocation bugs (not verified) #130
2009-06-15 10:29:31 -05:00
Costa Vitor
9569d04a9f
remove some warnings in the absence of GMP
2009-06-15 10:11:05 -05:00
Vitor Santos Costa
b4ff9b492a
make sure to recover stack before copying exception term.
2009-06-14 11:17:12 -05:00
Vitor Santos Costa
826b45d21c
fix handling of out stack while throwing an exception.
2009-06-13 15:21:13 -05:00
Vitor Santos Costa
5a10dda14e
fix threads version.
2009-06-13 14:01:16 -05:00
Vitor Santos Costa
475e681907
do fetch and remove a the same time: PopFromDB
2009-06-13 13:06:02 -05:00
Vitor Santos Costa
4de6e48a33
save exception term in database, so that it is clean separate from stacks. #116
2009-06-12 14:35:15 -05:00
Vitor Santos Costa
e6265e9d84
only dump stack if user not handling the stack #47
2009-06-12 14:04:32 -05:00
Vitor Santos Costa
1005fa8abf
PLIOError should not prevent weird errors, like
...
resource_errors (#36 ).
2009-06-12 13:46:44 -05:00
Vitor Santos Costa
303261b283
improve error messages.
2009-06-12 13:44:22 -05:00
Ulrich Neumerkel
2f47f8902b
Operator change for ISO/SWI
2009-06-11 09:27:48 -05:00
Costa Vitor
9b7d2b1cd4
if the compiler has ommited the instructions, it means we should the
...
argument set up there by the compiler.
2009-06-08 20:08:21 -05:00
Costa Vitor
15519fa3cd
tightenn conditions on JumpExec
2009-06-05 18:45:41 -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
Vitor Santos Costa
ecb03a61c0
fix memory leak in min/2 and max/2.
2009-06-05 10:38:07 -05:00
Vitor Santos Costa
a1b621507a
max of bignums would always return the first bignum #118
2009-06-05 09:49:00 -05:00
Vitor Santos Costa
4b91f13ee1
allow easy shunting, but make sure we do not shunt chains below the current CP.
2009-06-05 09:47:17 -05:00
Vitor Santos Costa
b455f057a8
fix writing of atributed variables.
2009-06-04 10:18:28 -05:00
Vitor Santos Costa
cd63a1f493
temporary disable easy shunting until I understand trouble with aattributed variables #80
2009-06-04 10:14:27 -05:00
Vitor Santos Costa
ea4f3f6447
always count gc calls #93
2009-06-03 20:36:15 -05:00
Costa Vitor
5da51d615d
fix crashes in 64-bit mode with unknown predicates.
2009-06-03 15:27:53 -05:00
Costa Vitor
efb72f7d0e
make sure we send unsigned chars to writing routine (obs from Simon Strobl)
2009-06-03 10:25:21 -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
b72345cc97
handle correctly throws within the scope of a call_cleanup. This is implemented
...
by using an extra argument to verify if the catcher is the current call_cleanup.
If it is, we allow the exception to go forth.
2009-06-02 19:46:41 -05:00
Costa Vitor
2daccab1cb
avoid setjmp if we can do it.
2009-06-02 18:08:40 -05:00
Costa Vitor
adb25ff96f
growglobal would core dump over holes.
2009-06-02 18:08:18 -05:00
Costa Vitor
f10dde5b90
make sure garbage collector goes to FAILCODE, not do a hard reset.
2009-06-02 16:36:00 -05:00
Vitor Santos Costa
a2a8f8e40e
stop writing at very long lists.
2009-06-01 22:54:56 -05:00
Costa Vitor
8870a1e661
define virtual timer and use it for timeout ( #96 )
2009-06-01 19:49:03 -05:00
Costa Vitor
8e55611d90
fix bad test for space overflow
2009-06-01 19:28:30 -05:00
Costa Vitor
00c9194014
fix reference to Yap_regp
2009-06-01 15:46:37 -05:00
Vitor Santos Costa
0bd3c910dd
step towards better emulation of SWI in backtrackable predicates.
2009-06-01 15:32:36 -05:00
Vitor Santos Costa
45a1544307
use Int for 32 bit flags (int would be ok, though).
2009-06-01 15:32:07 -05:00
Vitor Santos Costa
95f28228f6
- separate user_try and user_retry
...
- make sure we have slots inited in retrying user C code.
2009-06-01 15:30:22 -05:00
Vitor Santos Costa
e84ecf2eaf
fix #37 : give resource error if trying to create a functor with bignum arity
...
also, allow meta-call to create large functors > Int.
2009-05-29 22:34:50 -05:00
Vitor Santos Costa
0cd72ad258
changes to compile YAP in WIN32
2009-05-29 14:36:49 -05:00
Vitor Santos Costa
a45da5f722
check for memory overflows in format (very long double, say) obs from Ingo Thon.
2009-05-29 10:26:48 -05:00
Costa Vitor
43e9e9f337
alarm(0) should be careful to kill existing signals.
2009-05-26 17:31:21 -05:00
Vitor Santos Costa
3c57286531
make sure we disable disabling interrupts on error handler.
2009-05-25 09:58:27 -05:00
Vitor Santos Costa
a6f0b8cc9f
ignore specific limit for max write depth on lists. Use same limit everywhere.
2009-05-24 19:37:07 -05:00
Vitor Santos Costa
a0750ff5b7
handle heap overflows when constructing new predicates.
2009-05-24 19:25:26 -05:00
Vitor Santos Costa
9a9767d73c
cannot just do error when user does crazy things.
2009-05-24 19:20:00 -05:00
Vitor Santos Costa
46dc2b1a49
should exit if interrupts *are* disabled.
2009-05-24 19:19:22 -05:00
Vitor Santos Costa
de3c042143
just update, no interesting change.
2009-05-24 15:17:23 -05:00
Vitor Santos Costa
09216a70b8
fix unprotected calls to plwrite.
2009-05-24 15:15:36 -05:00
Vitor Santos Costa
81970013ed
allow storing a pointer.
2009-05-24 15:14:44 -05:00
Vitor Santos Costa
b94baf1e5f
try not to loop in infinite terms.
2009-05-24 15:14:23 -05:00
Vitor Santos Costa
b5e5a671a8
restore stack on JumpExec
2009-05-23 15:51:50 -05:00
Vitor Santos Costa
b9a7d24e8b
avoid too long messages
...
back to top level if Yap_Error is called in a critical region.
2009-05-23 15:51:00 -05:00
Vitor Santos Costa
4d497193b6
fix garbage collection on attributed variables with lots of choice points.
2009-05-23 12:41:37 -05:00
Vitor Santos Costa
04c419b3b0
not always throw an error when it is not a variable.
2009-05-22 22:35:40 -05:00
Vitor Santos Costa
9a2dbdcb24
one extra warning goes away.
2009-05-22 21:53:24 -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
c00facdd17
exception at fail could loop with bad env. #59
2009-05-22 19:43:17 -05:00
Costa Vitor
e611e1061a
fix annoying int cast problems (64 bit only)
2009-05-22 19:09:18 -05:00
Costa Vitor
8fcc534a19
fix bad error propagation in term comparison #53
2009-05-22 18:44:05 -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
75e08846fe
vargs needs include.
2009-05-22 14:44:32 -05:00
Vitor Santos Costa
23301fb19a
avoid warning on malloc
2009-05-22 14:01:22 -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
e1421f207e
use DebugPlWrite for debugging writes
2009-05-22 13:23:51 -05:00
Vitor Santos Costa
328e2f5c22
don't loop on cyclic terms.
2009-05-22 12:24:30 -05:00
Vitor Santos Costa
8e1c8d723e
never do P=FAILCODE directly in the code.
2009-05-22 11:24:44 -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
3a3220d1a1
make sure we don't generate an heapexpansion in the middle of a write.
2009-05-21 01:04:13 -05:00
Vitor Santos Costa
88b5f1a735
be careful to make sure we can hanle the interrupt.
2009-05-21 00:39:14 -05:00
Vitor Santos Costa
a59a434d66
use interrupts_disabled
...
make onerrupts disabled recursive (not quite needed, but maybe one day).
2009-05-21 00:38:35 -05:00
Vitor Santos Costa
aaec9ddceb
fix overflow while dumping very large big ints (Ulrich #18 )
2009-05-20 08:12:18 -07: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
a1203e56dd
we don't always expand stack on attvar overflow.
2009-05-17 22:51:34 -07:00
Vitor Santos Costa
17e36dbda1
keep things right if there is a temporary overflow in loopy term checking.
2009-05-17 12:39:51 -07:00
Vitor Santos Costa
a52317b9c2
fix Yap_shift_visit for malloc: a few miscalculations...
2009-05-17 12:26:09 -07:00
Vitor Santos Costa
44f7e67394
make sure we reset global variables when exiting a thread
2009-05-17 10:38:39 -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
d8590f2587
return error message if no room available.
2009-05-17 09:42:40 -07:00
Vitor Santos Costa
55e37020a4
return copy when copying term
2009-05-17 09:41:59 -07:00
Vitor Santos Costa
94e740ae31
reduce the initail amount of space for globals
2009-05-17 09:41:34 -07:00
Vitor Santos Costa
de1fb3e2c5
copy exception term early on to avoid dangling pointers.
2009-05-17 08:02:34 -07:00
Vitor Santos Costa
8e7695a42c
make Yap_Eval only on entry.
2009-05-16 22:41:44 -07:00
Vitor Santos Costa
7953004610
fix unused variable warning.
2009-05-13 17:12:12 -05:00
Vitor Santos Costa
6d8649226c
fix tabling code.
2009-05-13 17:11:46 -05:00
Vitor Santos Costa
13e2febd30
stack overflow instructions could be wiped out by Restore.
2009-05-12 17:01:53 -05: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
b177a9e333
/ is legal in Prolog, why did I comment that out?
2009-05-09 23:49:10 -04:00
Vitor Santos Costa
61973a2be6
be careful: error handling may have changed PC in call_c_with_fail!
2009-05-09 23:40:17 -04:00
Vitor Santos Costa
5b527e7eeb
just make things prettier.
2009-05-09 23:39:57 -04:00
Vitor Santos Costa
f53c741d96
improve low-level tracer.
2009-05-09 23:30:20 -04:00
Vitor Santos Costa
5b537ef7e2
fix error handling.
2009-05-09 23:30:08 -04:00
Vitor Santos Costa
e4fdf5a1ff
fix (??) X^N, N< 0. When does this make sense?
2009-05-07 23:42:16 -04:00
Vitor Santos Costa
21fa27526c
generate error if module is unspecified (obs from Ulrich Neumerkel).
2009-05-07 23:14:28 -04:00
Vitor Santos Costa
0cd9009132
remove debugging message.
2009-05-05 10:15:34 -05:00
Vitor Santos Costa
32b08082f7
fix clean_trail: with threads, objects may be above stack, not just below.
2009-05-05 09:56:47 -05:00
Vitor Santos Costa
c2e6456c25
wait until sending out the abort message.
2009-05-04 22:30:47 -05:00
Vitor Santos Costa
c31737fe3d
make sure that a meta-call to functor/3 has an environment so that
...
it can do garbage collection.
2009-05-04 21:57:08 -05:00
Vitor Santos Costa
a077500795
should always be ENV
2009-05-04 21:56:49 -05:00
Vitor Santos Costa
780b629bff
fix bad handling of trail overflow.
2009-05-04 21:26:47 -05:00
Vitor Santos Costa
10c38f8164
1. catch should not catch outside of scope!
...
2. when we are catching check for the first cleanup we can find; and while
doing that going on rewinding variables, for SICStus compatibility.
2009-05-04 18:12:33 -05:00
Vitor Santos Costa
35c1cb6338
put future environment when waking up goals before failure.
2009-05-04 18:11:43 -05:00
Vitor Santos Costa
8385f4bea6
saved state should be startup.yss, not startup.yss, in case YAP looks up
...
saved state in current directory (obs from Ulrich Neumerkel).
2009-05-02 14:06:24 -05:00
Vitor Santos Costa
2016e118b3
Ulrich Neumerkel's patch so that variables are declared in front of a block.
2009-05-02 10:54:09 -05:00
Vitor Santos Costa
58838b7838
fix attributed variable space allocation
2009-05-01 12:11:52 -05:00
Vitor Santos Costa
ee44706d37
fix bad initialization of H0 in tabling
2009-05-01 12:09:49 -05:00
Vitor Santos Costa
91b3e4359d
handle tabling errors where CP->AP==NULL
2009-05-01 12:09:22 -05:00
Vitor Santos Costa
8275f2232c
fix handling of multiassignment variables with tabling;
...
fix bad overflow handling when copying terms from tries.
2009-05-01 11:53:59 -05:00
Vítor Santos Costa
04f3b32a9a
clean code a little bit.
2009-04-29 14:22:20 +01:00
Vítor Santos Costa
8c3406adac
don't forget to globalise variables before making them global.
2009-04-29 14:21:52 +01:00
Vitor Santos Costa
5baaf79916
fix call_with_args/.. (obs from Jose Santos).
2009-04-26 11:16:40 -05:00
Vitor Santos Costa
bb80c8d61c
should use YENV, not ENV.
2009-04-26 10:51:18 -05:00
Vitor Santos Costa
e7b01f64d0
don't add minimums, compare them for memory overflows.
2009-04-26 10:50:56 -05:00
Vitor Santos Costa
e06ee4d4fa
avoid over enthusiastic stack expansion.
2009-04-26 10:50:10 -05:00
Vitor Santos Costa
4cdfbae62a
allow garbage collection when we store error term.
2009-04-26 10:48:32 -05:00
Vitor Santos Costa
2b79d5aada
fix case where we call YAP with very large arities (obs from Ulrich Neumerkel).
2009-04-26 10:47:41 -05:00
Vitor Santos Costa
c5ba7e3854
fix non GMP code (obs from Tony Wilson).
2009-04-26 10:46:00 -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
09d33c6cad
try to give more helpful message in console aborts
2009-04-25 11:00:39 -05:00
Vitor Santos Costa
d02e14415b
another fix to FileFromStream
2009-04-25 10:59:05 -05:00
Vitor Santos Costa
7628c875e8
make sure to be compatible with non-gcc/old gcc
2009-04-25 10:58:42 -05:00
Vitor Santos Costa
450123d5c6
fix FileNoFromStream
2009-04-25 10:28:34 -05:00
Vitor Santos Costa
291997ad77
fix FileDescriptorFromStream
2009-04-25 10:27:55 -05:00
Vitor Santos Costa
fadec66d2c
gmp_should always recover space for the temporary bignum.
2009-04-24 19:10:53 -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
08320410cb
fix missing comma in declarations.
2009-04-23 09:12:03 -05:00
Vitor Santos Costa
1ea4a27dd1
YAP_FileNoFromStream for Nf
2009-04-22 21:42:15 -05:00
Vitor Santos Costa
7ed3b456ac
add Yap_FileDescriptorFromStream at request from NF.
2009-04-22 16:41:41 -05:00
Vitor Santos Costa
0a2c90a919
fix warning
2009-04-22 16:41:33 -05:00
Vitor Santos Costa
3c84466d05
asserting on a spied predicate might make it loop for ever :(
2009-04-21 18:51:01 -05:00
Vitor Santos Costa
e204a8b7a3
display({A}) should not display as an operator.
2009-04-21 18:04:36 -05:00
Vitor Santos Costa
e2d3e66632
fix native_op
2009-04-18 17:55:18 -05:00
Vitor Santos Costa
c92765d962
SREG and S could be different; also S might be in use if there is an
...
overflow and the index code is jumping to the middle.
2009-04-18 15:22:51 -05:00
Vitor Santos Costa
7e98e5acdb
fix another internal deadlock.
2009-04-17 14:17:43 -05:00
Vitor Santos Costa
c685991119
fix self-deadlock in empty IDB entries.
2009-04-16 12:55:47 -05:00
Vitor Santos Costa
9624026beb
locking fixes.
2009-04-16 11:19:26 -05:00
Vitor Santos Costa
43ae55f5f2
thread_local is also dynamic.
2009-04-14 01:24:58 +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
94b2b181a7
do not deref because you may want to pass a pointer.
2009-04-04 23:56:42 +01:00
Vitor Santos Costa
9e8db82391
updates to UDI package
2009-04-02 17:34:42 +01:00
Vitor Santos Costa
cc7ff82275
term_hash non non_ground terms: ignoring the variables.
2009-03-31 21:56:12 +01:00
Vitor Santos Costa
18eca09bd0
multiple assignment variables should always be globalised.
2009-03-31 21:55:17 +01:00
Vitor Santos Costa
67eddb5a5b
arity may be a long int
2009-03-27 15:28:32 +00:00
Vitor Santos Costa
4b5c07192a
get rid of debugging message.
2009-03-27 15:28:22 +00:00
Vitor Santos Costa
3a213d7029
get rid of debugging message.
2009-03-27 15:28:08 +00:00
Vitor Santos Costa
91fd215d3d
fix bad types.
2009-03-27 15:23:54 +00:00
Vitor Santos Costa
099edc1520
get rid of compilation warning.
2009-03-27 15:19:30 +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
751426c610
fix unallocated variable in overflow.
2009-03-27 14:05:27 +00:00
Vitor Santos Costa
f46ff06f38
get rid of broken $clause/3: fixes listing of dynamic predicates.
2009-03-26 08:12:24 +00:00
Vitor Santos Costa
8a0b7312e4
get rid of thread warnings..
2009-03-26 00:39:44 +00:00
Vitor Santos Costa
2a6869bf28
just planning for the future...
2009-03-26 00:38:46 +00:00
Vitor Santos Costa
5c2e5c524b
recognise exceptions within comparisons.
2009-03-26 00:37:57 +00:00
Vitor Santos Costa
2e807fc5c7
fix static_growglobal.
2009-03-24 14:15:40 +00:00
Vitor Santos Costa
4b65b063ca
fixes for threads to compile and boot.
2009-03-24 13:27:36 +00:00
Vitor Santos Costa
b198de2272
patch from master
2009-03-24 01:02:44 +00:00
Vitor Santos Costa
7769c33be7
fix shunting where it breaks variable order.
2009-03-24 00:17:59 +00:00
Vitor Santos Costa
1b238d62ec
fix bad copy and paste from master
2009-03-17 22:29:24 +00:00
Vitor Santos Costa
a221244b8c
fix bug in following retry chains.
2009-03-17 20:10:14 +00:00
Vitor Santos Costa
4fa27164e6
oops!
2009-03-16 22:22:07 +00:00
Vitor Santos Costa
77eaff31b8
cleanup stack shifting when inserting holes (growglobal).
2009-03-16 17:30:13 +00:00
Vitor Santos Costa
4cac5b6616
ld_path is not a fixed atom
2009-03-16 15:12:48 +00:00
Vitor Santos Costa
5ef03f2d0f
fix BLOB operations and get rid of warning
2009-03-14 10:06:55 +00:00
Vitor Santos Costa
1161f80426
fix calling SWI C-Predicates.
2009-03-13 19:36:38 +00:00
Vitor Santos Costa
08acf82266
handle non-wide atoms correctly.
2009-03-13 19:00:14 +00:00
Vitor Santos Costa
8b118f1778
fix bad lock
2009-03-13 11:49:38 +00:00
Vitor Santos Costa
c9c097b32d
improve implementation of call_with_args/*
2009-03-13 11:11:04 +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
e4d6b529c7
fix bad merge in put/get instructions
2009-03-10 16:23:43 +00:00
Vitor Santos Costa
7726944e1b
back to normal.
2009-03-10 16:22:45 +00:00
Vitor Santos Costa
21aba71211
get rid of unused builtins.
2009-03-10 16:21:33 +00:00
Vitor Santos Costa
b744fabb71
new predicates for variable search in term.
2009-03-10 16:21:05 +00:00
Vitor Santos Costa
cd548813fd
make $variables_in_term/3 check for repeated variables, ie (vint(a(X),[X],[X])).
2009-03-09 14:15:41 +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
d98c3f0817
add support for sized queues.
2009-02-27 22:22:49 +00:00
Vitor Santos Costa
0b4b0d0a18
fix equality between float and integer, and simplify code in general.
2009-02-27 22:10:52 +00:00
Vitor Santos Costa
258d63edeb
forgot to mark objects in registers.
2009-02-27 12:56:27 +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
91657556ee
more UDI stuff.
2009-02-25 00:13:45 +00:00
Vitor Santos Costa
2bc5d8425a
fix arithmetic dependence on Prolog table.
2009-02-25 00:12:36 +00:00
Vitor Santos Costa
ffb621c53b
improve support for UDI.
2009-02-20 15:52:17 +00:00
Vitor Santos Costa
94ebb90719
UDI patch: make it work with YAP.
2009-02-20 11:42:48 +00:00
Vitor Santos Costa
ad2d073184
allow better writing of inlined operations
...
disallow eval.yap
2009-02-16 21:04:30 +00:00
Vitor Santos Costa
e5d11cfa16
MYDDAS is too closely integreated to be a package.
2009-02-16 17:15:21 +00:00
Vitor Santos Costa
0f58cf8029
small fixes
2009-02-16 12:53:29 +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
f7046286a0
cleanups and a bug fix (it is lp now, not just p as before).
2009-02-12 21:45:41 +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
0886bd2e59
get rid of unused mk_cl_not_first.
2009-02-10 23:17:41 +00:00
Vitor Santos Costa
e08cef278a
fix debugging message.
2009-02-10 22:56:12 +00:00
Vitor Santos Costa
1b41a08e74
fix indexing of tabling predicates: make sure we don't jump to the middle
...
of the code if we come from a retry.
2009-02-10 22:35:54 +00:00
Vitor Santos Costa
5efc438e49
fix put_att_term/2: bad arity and would not bind first arg if unbound var.
2009-02-10 14:56:43 +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
33b4a02fae
extend C-interface to check if a variable is AttVar and to fetch all the
...
attributes.
2009-02-09 22:45:50 +00:00
Vitor Santos Costa
bde2b57f07
compile =/2 to use an extra temporary, and not ARG1.
2009-02-09 22:29:44 +00:00
Vitor Santos Costa
89635fb1f6
optimise is/2 as a binary predicate.
2009-02-09 22:21:58 +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
30e946cc30
fix case where very big negative integer could have two representations.
2009-01-12 15:08:26 +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
90d95fdf17
fix bad comparisons in devel version.
2008-12-29 00:12:54 +00:00