Commit Graph

723 Commits

Author SHA1 Message Date
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
2e8d898e86 add new eval compiler
fix garbage collector for new big allocation scheme.
2008-12-05 16:08:44 +00:00
Vítor Santos Costa
8bcafd417a include new arithmetic optimiser. 2008-12-04 23:37:25 +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
Vitor Santos Costa
f5e1b6d029 fix bug in create array: argument order was reversed. 2008-11-14 14:53:44 +00:00
Vitor Santos Costa
67d9e0ef26 fix compilation of (V;_) where V is unbound (obs from Ingo Molnar). 2008-10-29 18:16:11 +00:00
Vitor Santos Costa
017146ee54 fix compilation of C/3 (there was a bug with .) 2008-10-29 17:58:47 +00:00
Vítor Santos de Costa
1b399e3433 fix bad call to $execute in $spy 2008-10-24 14:26:44 +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
Vitor Santos Costa
7e4384cf5c fix if/3 compilation (obs from Brian De Vries) 2008-10-18 12:50:02 +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
9403ea8942 get rid of duplicate declarations. 2008-10-16 17:22:01 +01:00
Vítor Santos de Costa
45e8b6fc8f when I call from $spy I am not under debugger control. 2008-10-13 15:40:05 +01:00
Vítor Santos de Costa
6692a5888c make sure we force debug_jump false on creep. 2008-10-10 00:39:24 +01:00
Vítor Santos de Costa
8b171db743 fix notrace so that it will not call goal_expansion and friends. 2008-10-08 13:43:33 +01:00
Vitor Santos Costa
32a1396b79 declare hook predicates so that $notrace will not think they are undefined. 2008-09-30 11:44:48 +01:00
Vitor Santos Costa
ce8a8bc965 fix showprofres/1. 2008-09-26 00:58:57 +01:00
Vítor Santos Costa
139f591458 fix catch and throw: make sure we have an environment.
use $notrace consistently: note that it only matters if ran from the
debugger, otherwise it is just a meta-call.
2008-09-24 00:13:02 +01:00
Vítor Santos Costa
e252ef0b2f more debugger fixes!
- make sure donotrace and oncenotrace are known to the signal mechanism:
they should disable creeping
- avoid creep at deallocate: it is a very bad idea :(
2008-09-23 23:43:01 +01:00
Vítor Santos Costa
ebbefd71ce debugger fixes:
fix $execute0 and $call: they should be handled explicitely
fix missing ! for builtins in debugger meta-call
2008-09-23 22:50:25 +01:00
Vitor Santos Costa
895e29d444 FIX: '$execute0' should be invisible to creep processing 2008-09-22 18:07:50 +01:00
Vitor Santos Costa
7f51339a97 fix syntax error in current_predicate 2008-09-18 17:48:01 +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
Vítor Santos Costa
65ccd336b2 fix a stupid threads bug 2008-09-04 16:58:45 +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
882178c02f support paths like the term a/b. 2008-08-30 04:34:27 +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
8169ef0343 fix stack_dump 2008-08-25 15:20:18 +01:00
Vitor Santos Costa
a6b9d096a6 make sure we always close intermediate memory streams on exit. 2008-08-25 15:19:00 +01:00
Vitor Santos Costa
7a94144ccb support writeln/1 for SWI compatibility. 2008-08-24 16:09:33 +01:00
Vitor Santos Costa
46744810ae support exporting DCG rules as // (swi compatibility). 2008-08-24 14:24:02 +01:00
vsc
d170b34624 MaxOS fixes
Avoid a thread deadlock
improvements to SWI predicates.
make variables_in_term system builtin.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2304 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-12 01:27:23 +00:00
pmoura
ad67cd43af Added built-in predicate format/1 for compatibility with SWI-Prolog.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2303 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-10 15:44:12 +00:00
vsc
b3a0b412f1 fix threads/0.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2302 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-08 16:05:10 +00:00
vsc
5776abb31c more thread fixes.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2301 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-08 14:05:34 +00:00
vsc
2581c3a3bf more threadin fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2300 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-07 20:51:23 +00:00
vsc
6d23a23a81 fix debugging info
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2299 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-06 23:05:49 +00:00
vsc
85d7d39dbf more thread fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2297 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-06 17:32:22 +00:00
vsc
ea812ad059 fix expand_term to list at end_of_file
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2296 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-06 10:15:48 +00:00
vsc
2c829f8e5c fixes to module expansion
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2295 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-06 00:56:11 +00:00
vsc
75c72d7b7d SWI and module fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2290 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-07-22 23:34:50 +00:00
vsc
dc53522604 small fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2289 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-07-16 10:58:59 +00:00
vsc
d8e5f2c895 fixes by Bart and Tom: mostly libraries but nasty one in indexing
compilation.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2286 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-07-11 17:02:10 +00:00
vsc
e90f744e5e fix stack growth in globals
fix compilation messages


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2277 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-16 21:22:15 +00:00
vsc
ac6ddd5005 fix syntax error messages
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2275 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-12 10:55:52 +00:00
pmoura
f26c4592bb Corrected a bug in setting a thread exit status in case the thread goal results in an exception; exit status should be exception(Exception) and not exception(error(Exception,_)).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2270 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-08 16:55:23 +00:00
pmoura
502a5571a8 Corrected a bug in setting a thread exit status in case the thread goal results in an exception; exit status should be exception(Exception) and not exception(error(Exception,_)).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2269 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-08 16:45:52 +00:00
vsc
02497c1172 fix manual and message handling
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2253 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-03 09:24:28 +00:00
vsc
8e6403794f fix abolish bug
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2252 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-02 17:20:28 +00:00
vsc
abbf5430dc keep current_stream across top-level.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2249 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-26 09:16:24 +00:00
vsc
0c006711ba fix cygiwn version
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2248 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-23 22:29:52 +00:00
vsc
7c24afa0f2 handle SIGPIPE and improve USR1 and USR2
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2242 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-23 10:02:13 +00:00
vsc
73cf1fbafa fix predicate_property/2
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2240 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-22 21:48:04 +00:00
vsc
511181b472 debugging fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2238 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-15 18:31:02 +00:00
vsc
316811d2cd user:goal_expand should be called before import
add extra apply_macros and apply stuff; fix unexisting definitions.
add forall/2 and ignore/1 to system stuff.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2237 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-15 13:41:48 +00:00
vsc
257c3a2cbc fix threads and LU
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2233 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-10 23:24:13 +00:00
vsc
f1d5e84918 fix bug in current_predicate/2
fix bug in c_interface.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2221 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-28 23:02:32 +00:00
vsc
3edc72b4c1 fixed a bug in static_clause (thanks to Jose Santos)
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2218 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-14 21:20:36 +00:00
vsc
3c3d0de2de partial fix to predicate_property trouble (obs from Nicos).
fix core dump when writing arrays without bignum support.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2217 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-14 17:30:18 +00:00
vsc
516a349aad only evaluate lists with a single character.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2214 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-08 15:36:53 +00:00
vsc
21f03da2cd fixes for message queues
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2208 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-04 11:28:59 +00:00
vsc
4c933b8d79 implement thread_cancel using signals
use duplicate_term instead of copy_term in throw: throw may lose
reference to term.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2207 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-04 10:02:44 +00:00
vsc
f930fd3179 thread at_exit should be module aware.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2206 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-04 09:32:10 +00:00
pmoura
04682ef5f0 Fixed bug in the predicate thread_create/1 when the thread goal generates an exception.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2204 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-03 23:23:06 +00:00
pmoura
2462596050 Fixed missing argument in recorda/3 call.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2198 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-03 01:28:21 +00:00
pmoura
5d6ddc8026 Fixed two bugs when closing a thread: (1) register thread exit status before running the exit hooks; (2) incorrect register of exception exit status.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2197 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-03 01:22:47 +00:00
pmoura
f827e047c1 Fixed bug in the thread_create/3 predicate where the thread indentifer was not within scope of the at_exit/1 option.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2196 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-03 00:10:04 +00:00
pmoura
1acbfc4f80 Only register at_exit/1 hooks given by the programmer.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2195 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-03 00:02:24 +00:00
pmoura
48e8101a87 Added new flag "max_workers". It uses a C function, "p_max_workers" that is currently defined in the *wrong* place ("threads.c").
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2193 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-02 22:59:52 +00:00
vsc
929ec2412f handle out of memory error at thread creation (obs from Paulo Moura).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2190 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-02 17:37:07 +00:00
vsc
70b3438293 separate MAX_WORKERS and MAX_THREADS (obs from Paulo Moura)
MAX_AGENTS can be used in all cases


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2189 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-02 15:41:50 +00:00
vsc
7aab33a153 fix at_exit and thread_at_exit (obs from Paulo Moura).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2188 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-02 15:13:16 +00:00
vsc
5459617266 stupid bug in assert_all (thanks to Jose Santos).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2186 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-01 20:47:57 +00:00
vsc
5b6e8e742b more fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2176 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-31 22:56:22 +00:00
pmoura
ff59818068 Reimplemented the message_queue_create/1-2 predicates and added new predicate message_queue_property/2 for compliance with the ISO Prolog Threads DTR.
Remove thread info when closing a detached thread.

Simplified creation of thread message queues.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2174 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-31 18:41:36 +00:00
pmoura
8a318a5e83 Updated the implementation of the thread_detach/1 predicate to help ensure that threads already terminated at the time of the call are destroyed instead of becoming zombie threads.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2173 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-31 16:26:31 +00:00
pmoura
8a1cfeb770 Added support for the SWI-Prolog thread_create/3 option at_exit/1 (work in progress)
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2172 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-28 10:57:28 +00:00
vsc
1c6b91cb72 improve WIN32 support and installation
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2170 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-27 00:41:33 +00:00
vsc
bee5cd8c0b fix thread_dettach
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2168 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-26 14:51:41 +00:00
pmoura
fa73e89807 Use "resource_error(threads)" instead of "resource_error(max_threads)" for compatibility with SWI-Prolog, XSB, and the latest ISO Prolog Threads DTR.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2162 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-25 01:04:27 +00:00
vsc
47d7eee66d ensure locking
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2161 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-25 00:15:05 +00:00
vsc
e2519f4e3a handle message_queue_create/1 with vars right
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2160 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-25 00:11:55 +00:00
vsc
7d6e7f2613 make sure thread messages go to user_error.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2159 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-24 23:54:32 +00:00
vsc
c20c0f7767 fix maximum number of threads open error
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2158 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-24 23:48:47 +00:00
vsc
18568bd46f fix unnecessary exception.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2156 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-22 11:38:05 +00:00
vsc
1090771c90 fix breakage in module system
disable stack writing in error for now


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2155 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-17 18:31:16 +00:00
vsc
19a9340011 oops
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2154 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-17 12:11:56 +00:00
vsc
e13e788411 avoid silly message
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2153 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-17 12:08:28 +00:00
vsc
3101d1ff61 -q flag
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2150 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-13 18:41:52 +00:00
vsc
2fe3053c78 fix exists/1
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2148 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-13 18:03:57 +00:00
vsc
0e45f242d4 update to CLP(QR). Note that CLP(Q) is still unsupported.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2145 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-13 17:16:47 +00:00
vsc
d02bc3de81 update chr
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2143 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-13 14:38:02 +00:00
vsc
785ddd56af member was deterministic :(
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2142 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-12 19:18:29 +00:00
vsc
fda34985b9 fix lists predicates
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2141 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-12 17:05:04 +00:00
vsc
c07c5286c0 replace $append by lists:append
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2140 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-12 16:26:51 +00:00
vsc
fc22f62eb7 fix verbose flag
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2138 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-12 15:51:58 +00:00
vsc
d0cd8182d9 fix path issues when opening files
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2137 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-12 15:37:34 +00:00
vsc
a3f3d62b1b more fixes to messages
improve lineutils


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2117 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-02-25 10:15:31 +00:00
pmoura
9058342aaa Added commented out code for an (incomplete) definition of the new float flags specified on the ISO Core Reviosion DTR.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2115 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-02-24 16:49:56 +00:00
pmoura
9fbbb1e47a Corrected a bug in thread_property/2 due to the use of the broken definition of the auxiliary predicate '$current_thread'/1. Removed predicates '$current_thread'/1-2.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2114 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-02-24 12:40:40 +00:00