Commit Graph

243 Commits

Author SHA1 Message Date
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
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
Costa Vitor
390408d5af fix checking profiled choice-points (obs from Jose Santos). 2009-07-15 22:16:05 -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
5e4be93491 able to commit 64 bits 2009-06-05 12:18:10 -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
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
f10dde5b90 make sure garbage collector goes to FAILCODE, not do a hard reset. 2009-06-02 16:36: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
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
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
e7b01f64d0 don't add minimums, compare them for memory overflows. 2009-04-26 10:50:56 -05:00
Vitor Santos Costa
2a6869bf28 just planning for the future... 2009-03-26 00:38:46 +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
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
1191b039d5 include support for dynamically created clause lists. 2009-02-11 15:10:57 +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
13dd600f88 add type to BIG NUMs, so that we can easily know what it is all about. 2008-11-28 15:54:46 +00:00
Vitor Santos Costa
1c334ea198 fix bad marking of attributed variables from trail. 2008-11-13 09:03:27 +00:00
Vítor Santos Costa
770e838ddd fix cast warnings in heapgc.c 2008-09-24 20:45:12 +01:00
Vítor Santos Costa
30900bd61f go back to only doing gc when needed.wq 2008-09-24 00:11:22 +01:00
Vítor Santos Costa
fdf762e326 push changes to make tabling work: don't ignore tabling and yapor fields
in optype.
2008-09-05 05:22:19 +01:00
Vítor Santos Costa
05f93cd4e6 be more careful about marking attributed variables:
- only mark unbound attributed variables in first step.
- remove deterministic bindings for those variables.
- mark non-deterministic bindings at mark_trail.
2008-08-28 17:41:07 +01:00
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