Commit Graph

258 Commits

Author SHA1 Message Date
Vítor Santos Costa II
c4b12d5cbe - fix memory leaks
- avoid unnecessary mallocs by having a first alloc to do th ework.
2010-04-15 22:23:54 +01:00
Ricardo Rocha
e122f2ca8d Global trie support: atomic terms (vars, integers and atoms) are now stored
in the local tries (and not in the global trie). This required major changes
to the trie instructions in order to unify the use of the auxiliary stack
organization for the terms in the local tries and in the global trie.
2010-04-15 01:09:59 +01:00
Vítor Santos Costa II
b10268def1 be careful about testing for attvars. 2010-04-12 17:21:19 +01:00
Vítor Santos Costa II
3fd7da94ba more valgrind catches. 2010-04-08 00:53:38 +01:00
Vitor Santos Costa
f45e95ba68 fix sTR0 to always point to base of updates. 2010-03-30 10:59:12 +01:00
Vítor Santos Costa II
b068721c68 fix type warnings. 2010-03-22 15:01:54 +00:00
Vitor Santos Costa
57f55cbd28 fix garbage collection of pointers to attributed variables. 2010-03-16 01:07:26 +00:00
Vitor Santos Costa
3d10482cc7 more upgrades to new coroutining code. 2010-03-10 14:06:07 +00:00
Vitor Santos Costa
34ca485e42 new Atts code. 2010-03-08 09:23:58 +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
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
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
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