Commit Graph

1684 Commits

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