Commit Graph

56 Commits

Author SHA1 Message Date
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
vsc
9e9c260f7e new version of viterbi implementation
fix all:atvars reporting bad info
fix bad S info in x86_64


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1968 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-10-28 00:54:09 +00:00
vsc
7f366435f4 fixes to copy term
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1931 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-09-21 13:52:52 +00:00
ricroc
9bb854ab62 tabling support for 64 bits
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1870 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-04-26 14:13:21 +00:00
vsc
d11fd73306 global variables
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1685 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-08-22 16:12:46 +00:00
vsc
0f714371e5 fix garbage collector not to try to garbage collect when we ask for large
chunks of stack in a single go.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1684 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-08-07 18:51:44 +00:00
vsc
9618c90255 YENV may be an HW register (breaks some tabling code)
All YAAM instructions are now brackedted, so Op introduced an { and EndOp introduces an }. This is because Ricardo assumes that.
Fix attvars when COROUTING is undefined.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1516 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-01-17 14:10:42 +00:00
vsc
b881f59a71 fix small bug in attvar handling.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1498 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-01-08 03:12:02 +00:00
vsc
a4b85e2abd more fixes to get_attributes.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1497 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-01-07 02:12:32 +00:00
vsc
bde8a59cec module with all attrs voided is module with no atts.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1495 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-01-04 03:47:49 +00:00
vsc
e10213929a support new interface between YAP and GMP, so that we don't rely on our own
allocation routines.
Several big fixes.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1490 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-01-02 02:16:19 +00:00
vsc
4157f2ce61 improvements to debugger
overflow fixes
reading attvars from DB was broken.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1472 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-11-26 02:57:25 +00:00
vsc
61d9980cf3 updates do documentation
put_attrs


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1433 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-10-31 18:12:51 +00:00
vsc
1fa46c6051 sveral updates
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1415 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-10-28 17:38:50 +00:00
vsc
e6a15addf5 5.1:
- improvements to GC
   2 generations
   generic speedups
- new scheme for attvars
   - hProlog like interface also supported
- SWI compatibility layer
   - extra predicates
   - global variables
   - moved to Prolog module
- CLP(R) by Leslie De Koninck, Tom Schrijvers, Cristian Holzbaur, Bart
Demoen and Jan Wielemacker
- load_files/2

from 5.0.1

- WIN32 missing include files (untested)
- -L trouble (my thanks to Takeyuchi Shiramoto-san)!
- debugging of backtrable user-C preds would core dump.
- redeclaring a C-predicate as Prolog core dumps.
- badly protected  YapInterface.h.
- break/0 was failing at exit.
- YAP_cut_fail and YAP_cut_succeed were different from manual.
- tracing through data-bases could core dump.
- cut could break on very large computations.
- first pass at BigNum issues (reported by Roberto).
- debugger could get go awol after fail port.
- weird message on wrong debugger option.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1402 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-10-18 17:04:43 +00:00
vsc
03ba05f24a a new and hopefully much better implementation of atts.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1392 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-09-09 17:24:39 +00:00
vsc
4164e56aa7 fix overflow in AllAttVars
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1381 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-08-23 21:27:39 +00:00
vsc
b18224a460 more robust support for attributed vars: all_attvars and stack
expansion.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1366 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-08-17 20:13:50 +00:00
vsc
18f0de5486 fix log(0.0) and log10(0.0) to be SICStus compatible.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1245 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-02-18 21:34:02 +00:00
vsc
ae2a53d2e3 fix overflows
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1211 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-12-16 05:57:32 +00:00
vsc
f0f6dd9de5 fix USE_LD to eventually be restorable.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1201 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-12-07 06:01:55 +00:00
vsc
8d2cb067ec fix situation where we might assume nonextsing double initialisation of C predicates (use
Hidden Pred Flag).
$host_type was double initialised.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1177 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-11-18 22:32:40 +00:00
vsc
40a39a79b1 Mega clauses
Fixes to sizeof(expand_clauses) which was being overestimated
Fixes to profiling+indexing
Fixes to reallocation of memory after restoring
Make sure all clauses, even for C, end in _Ystop
Don't reuse space for Streams
Fix Stream_F on StreaNo+1


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1147 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-09-27 20:45:04 +00:00
vsc
2e2df1a64f IsUnboundVar should check addresses
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1144 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-09-18 14:03:42 +00:00
vsc
8402df6bb2 more constraint simplifications
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1135 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-09-13 21:19:14 +00:00
vsc
27a98ecdde add attvar/1 to system.
sort before printing attributed variables to get rid of duplicates.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1132 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-09-10 20:18:01 +00:00
vsc
c042f13930 more fixes for overflows in copy_term with attributed variables (not necessarily).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1131 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-09-09 20:00:59 +00:00
vsc
3c44b02093 alwas make sure you are looking at a variable before checking IsUnboundVar
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1130 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-09-08 19:06:57 +00:00
vsc
040280ea73 fix overflow of attributed variables in copy_term
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1126 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-09-07 20:20:12 +00:00
vsc
a7f550d667 New comment-based message style
Fix thread support (at least don't deadlock with oneself)
small fixes for coroutining predicates
force Yap to recover space in arrays of dbrefs
use private predicates in debugger.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1084 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-06-23 17:24:20 +00:00
vsc
0101c09236 coroutining is now a part of attvars.
some more fixes.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1070 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-06-05 03:37:01 +00:00
vsc
9d12384db1 debugger fixes
make sure we always go back to current module, even during initizlization.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1062 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-05-13 20:54:58 +00:00
vsc
9d5c82db6a fix garbage collection in execute_tail
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1057 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-04-29 03:45:50 +00:00
vsc
27f85f3355 fixes for corourining
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1042 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-04-20 22:08:57 +00:00
vsc
ea52ce8b26 fixes for copy_term
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1041 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-04-19 17:06:51 +00:00
vsc
cfd3683891 fix integer as DBRef
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@971 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-02-09 14:19:05 +00:00
vsc
ba9876268f threads, clean signals, and much more...
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@957 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-01-23 02:23:51 +00:00
vsc
e7f92398da fix SetAttVar: things may have changed since we asked to bind a variable.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@774 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2003-02-14 10:52:00 +00:00
vsc
d7f80ea1ad Stasinos noticed that _YAP_ breaks C standard: use Yap_ instead.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@691 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-11-18 18:18:05 +00:00
vsc
7b2c4dc6ff all global symbols should now start with _YAP
global functions should not be called from within file (bug in
binutils/WIN32).


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@675 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-11-11 17:38:10 +00:00
vsc
5a5c674300 disable stack shifting and garbage collection in the presence of
multiple threads.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@646 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-10-21 22:52:36 +00:00
vsc
523fae9544 stack overflow patches:
process overflows as high-level as possible;
   introduce overflow related errors
   ExpandWorkSpace should never call Error: use ErrorMessage instead,
   format_putc should never release memory, causes memory corruption,
   Linux does not like MAP_FIXED, it can overwrite the actual program
code.
   condor: twick configure to disable readline with condor.
----------------------------------------------------------------------


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@632 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-10-10 05:58:49 +00:00
vsc
c27b23f3a5 miscellaneous fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@556 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-07-17 20:25:30 +00:00
vsc
330b262560 fix modules bug
fix newly introduced coroutining bug


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@478 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-05-20 05:24:13 +00:00
vsc
4fc1a2ff42 put tabling back to work
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@460 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-05-03 15:30:36 +00:00
vsc
be3a996d1e WakeAttVar should only test if variables it is binding are in queue
ugraphs should not bind variable


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@441 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-04-13 04:39:03 +00:00
vsc
03484b9960 fix bad marked var in copy_att_var
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@439 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-04-11 01:43:09 +00:00
vsc
bd654f1e18 fix overflow when copying terms with attributes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@430 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2002-04-06 03:54:18 +00:00
vsc
7b77c87b94 store constraints in DB
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@233 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2001-12-17 18:31:11 +00:00
vsc
6a34f51a25 fix copy_term between constraints
change visiited stack in unify to AuxSp because H can be changed
by woken goals


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@221 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2001-12-11 03:34:03 +00:00