[m-dev.] Trailing
Fergus Henderson
fjh at cs.mu.oz.au
Wed Aug 13 23:16:55 AEST 1997
Peter Schachte wrote:
>
> The only catch is that we use values of max_fr to "segment" the trail,
> ie to decide when we need to trail something and when we don't, but
> max_fr doesn't change in this scheme. So the hack to work around that
> would be to simply do max_fr++ immediately before the call to test/1,
> and max_fr-- immediately afterwards (anywhere up to the next call).
As we discussed, this won't work. The nondet stack has a fixed structure,
and max_fr++ doesn't preserve that; that would make it impossible for
the garbage collector to trace the nondet stack properly.
The alternative we discussed was to have a separate global variable
(virtual machine register) called MR_ticket_count.
But I'm a bit concerned about the efficiency costs of this.
--
Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh> | of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3 | -- the last words of T. S. Garp.
More information about the developers
mailing list