[m-rev.] for review: fix for problem with debugger contexts

Zoltan Somogyi zs at cs.mu.OZ.AU
Mon May 7 15:19:39 AEST 2001


On 07-May-2001, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> --- compiler/handle_options.m	2001/05/02 11:36:35	1.107
> +++ compiler/handle_options.m	2001/05/07 04:03:24
> @@ -530,6 +530,13 @@
>  	option_implies(procid_stack_layout, basic_stack_layout, bool(yes)),
>  	option_implies(agc_stack_layout, basic_stack_layout, bool(yes)),
>  
> +	% dupelim.m doesn't preserve label layout structures
> +	% (e.g. it can change the return address in a call
> +	% to a different label whose code is the same but
> +	% which has a different label layout structure),
> +	% so we need to disable it when tracing.
> +	option_implies(procid_stack_layout, optimize_dups, bool(no)),
> +

The code diff is fine. However, the comment is misleading. procid_stack_layout
can be switched on by accurate gc as well as debugging, and agc doesn't care
about differences in line numbers. It does care about differences in liveness
information, but dupelim preserves the invariant agc requires. Therefore
switching off dupelim for agc is (innocuous and probably worthwhile)
safety overkill.

Zoltan.
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list