[m-dev.] for review: handling layouts of compiler-generated procedures

Fergus Henderson fjh at cs.mu.OZ.AU
Wed Oct 28 00:00:54 AEDT 1998


On 27-Oct-1998, Zoltan Somogyi <zs at cs.mu.OZ.AU> wrote:
> 
> Estimated hours taken: 3
> 
> compiler/stack_layout.m:
> 	Update a comment.
> ...

A brief summary at the top of the log message explaining the overall
purpose of these changes would be helpful.

Otherwise, that change looks fine.

But I'll take the opportunity to reiterate some points from a previous
review: I would like to see some comments in mercury_stack_layout.h
explaining the following two routines and/or the representation
of the MR_sle_pred_or_func field.  Currently the type declaration
for that field is quite misleading -- it's declared as a enum
of two values, but the actual representation includes values which
don't occur in the enum.

>  #define	MR_ENTRY_LAYOUT_HAS_PROC_ID(entry)			\
> -		((Word) entry->MR_sle_pred_or_func != -1)
> +		((Word) entry->MR_sle_user.MR_user_pred_or_func != -1)
...
>  #define	MR_ENTRY_LAYOUT_COMPILER_GENERATED(entry)		\
> -		((Unsigned) entry->MR_sle_pred_or_func > MR_FUNCTION)
> +		((Unsigned) entry->MR_sle_user.MR_user_pred_or_func \
> +		> MR_FUNCTION)

-- 
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