[m-dev.] for review: implementation of --no-allow-hijacks
Fergus Henderson
fjh at cs.mu.OZ.AU
Tue Jul 28 00:32:43 AEST 1998
On 27-Jul-1998, Zoltan Somogyi <zs at cs.mu.OZ.AU> wrote:
>
> Extend the new failure handling method to optionally preserve an invariant
> required by accurate gc: always being able to tell with respect to what MR_sp
> or MR_curfr to interpret the stackvars and framevars referred to by the label
> whose address is the redoip slot of a nondet stack frame.
I don't understand that -- often the redoip slot will be `do_fail'.
What happens in that case?
> tests/{general,hard_coded}/space.{m,exp}:
> Move this test case from general to hard_coded.
You need to also modify tests/{general,hard_coded}/Mmakefile
(probably you have, but the log message didn't say so).
> tools/bootcheck:
> If the -r option is given, remove the stage2/runtime directory
> before creating it.
That one should probably be committed separately (indeed, I think you
did commit it separately), so it shouldn't be part of the log message
for this change.
> Index: tests/hard_coded/complex_failure.m
> +
> +% Note that NU-Prolog cannot execute this test case correctly. With -> ;
> +% notation, NU-Prolog does a hard neck cut, which is not Mercury's desired
> +% semantics; with the if-then-else notation, it delays the conditions
> +% since they are not ground.
Why not use the `if some [OutputVar] ...' notation?
I think that should work fine in both NU-Prolog and Mercury.
(I didn't look at all of this too closely... Tyson should still review it.)
--
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