Commit Graph

215 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
Vitor Santos Costa
3a7b3e15c6 include type information in mark_delays. 2008-08-27 17:12:03 +01:00
Vítor Santos Costa
f499115573 redo lost updates 2008-08-21 13:38:25 +01:00
vsc
39c4a2e67f fix c_interface not to crash when people try to recover slots that are
not there.
fix try_logical and friends to handle case where predicate has arity 0.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2278 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-17 13:37:51 +00:00
vsc
87fcf6233c put chr back to life
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2265 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-08 08:05:11 +00:00
vsc
08422c967a more fixes to C-interface
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2257 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-04 13:58:42 +00:00
vsc
fd6b87e5cf oops
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2061 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-01-24 22:47:14 +00:00
vsc
82508f287b avoid self-locking in garbage collector.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2060 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-01-24 22:21:27 +00:00
vsc
e353d8811f garbage collector was not asking for space.
avoid 0 sized calls to mmap.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2058 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-01-24 00:11:59 +00:00
vsc
637f381d94 valgrind it!
enable atom garbage collection.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2055 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-01-23 17:57:56 +00:00
vsc
926d21808e purge_clauses does not need to do anything if there are no clauses
fix gprof bugs.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2045 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-12-18 17:46:58 +00:00
vsc
3beda27d14 fixes to support threads and assert correctly, even if inefficiently.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2030 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-11-26 23:43:10 +00:00
vsc
ff4aa369be allow conditional compilation
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1965 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-10-21 08:48:06 +00:00
vsc
c625347697 fix global variables
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1962 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-10-18 08:24:16 +00:00
vsc
1656d383d5 more small fixes (thanks to Markis Triska)
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1953 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-10-11 14:25:09 +00:00
vsc
642b498728 fix garbage collector and fix LeaveGoal
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1945 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-10-05 18:24:30 +00:00
vsc
c7344ca385 make gc work better with globals and even lots of globals
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1940 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-09-28 13:10:46 +00:00
vsc
31ff28d3ee upgrade JPL
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1936 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-09-27 15:25:34 +00:00
vsc
039067068e improve external interface
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1881 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-05-14 16:44:12 +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
67738fbbd1 fix max modules limitation
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1865 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-04-10 22:13:21 +00:00
vsc
a8409c5f52 fix fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1854 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-03-21 23:49:41 +00:00
vsc
51e0e2f54e fix excessive trail cleaning in gc tr overflow.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1853 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-03-21 23:23:46 +00:00
vsc
e27d2fa1f3 fix memory expansion bugs.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1852 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-03-21 18:32:50 +00:00
vsc
ce71569e66 agc should not be called from gc
agc should not crash on tabled execution.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1851 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-03-18 23:09:12 +00:00
vsc
e10bb2a6ae fix prolog_flags for chr.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1802 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-02-26 10:41:40 +00:00
vsc
7d1b20c9cd call_cleanup/2 and 3
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1750 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-12-30 03:25:47 +00:00
vsc
bc43ba2424 fix small bug
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1748 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-12-29 10:26:27 +00:00
vsc
c79a7a5bdb allow coroutining plus tabling, this means fixing some trouble with the
gc and a bug in global variable handling.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1745 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-12-29 01:57:50 +00:00
vsc
0705ca0640 support for UNICODE, and other bug fixes.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1725 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-11-27 17:42:03 +00:00
vsc
9c506b2a2c 1estranha
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1709 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-11-06 18:35:05 +00:00
vsc
13080439a6 small fixes on threaded implementation.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1700 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-10-10 14:08:17 +00:00
vsc
f0b132b083 more fixes for global data-structures.
statistics on atom space.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1690 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-09-01 20:14:42 +00:00
vsc
cd5bc14cfc win32 fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1689 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-08-30 01:06:30 +00:00
vsc
29bbffc650 global data structures
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1687 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-08-25 19:50:35 +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
f69ba78f02 *** empty log message ***
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1683 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-08-05 03:06:31 +00:00
vsc
eea9f2a58e get rid of IntArrays and FloatArray code.
include holes when calculating memory usage.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1640 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-05-19 14:31:32 +00:00
vsc
871bb9e024 help to make Yap work with dynamic libs
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1638 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-05-19 13:48:11 +00:00
vsc
f9987d9fe9 fix case where OldHeapUsed is 0 (mallinfo not available).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1637 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-05-18 16:55:19 +00:00
vsc
ee78d90bb9 fix info reported by memory manager under DL_MALLOC and SYSTEM_MALLOC
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1635 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-05-18 16:33:05 +00:00
vsc
720db316ce cleanups
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1617 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-04-28 16:14:05 +00:00
vsc
9cbe63778e fix garbage collector to handle multi-assigned variables and to not mess around
with cp_tr fields.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1606 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-04-21 21:50:33 +00:00
vsc
79c0a8cc27 fix nasty variable shunting bug in garbage collector :-(:wq
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1583 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-03-30 01:11:10 +00:00
vsc
3241452d64 take better care of zombies
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1574 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-03-22 20:07:28 +00:00
vsc
01091f0bfa JPL and DL fixes
documentation fix.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1572 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-03-22 15:00:29 +00:00
vsc
8812310636 fixes to handle expansion of dyn amic predicates more efficiently.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1568 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-03-21 15:06:36 +00:00
vsc
1edb3a8115 fix indexing and tabling bugs
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1567 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-03-20 19:51:44 +00:00
vsc
cf669ee72b fixes to garbage collector
fixes to debugger


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1558 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-03-06 14:04:57 +00:00