Vítor Santos Costa
ba22623aeb
mark slots if called from user-c-code
...
beautify oops messages.
2010-05-04 14:54:55 +01:00
Vítor Santos Costa II
7f9f10a1d9
cannot trust H0 in the att test (use Yap_GlobalBase instead).
2010-04-22 12:08:02 +01:00
Vítor Santos Costa II
da78b22324
fix fixes to garbage collector.
2010-04-20 23:08:08 +01:00
Vítor Santos Costa II
04ddd8dca0
fix garbage collection of attributed variables.
2010-04-19 16:15:33 +01:00
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