[m-dev.] for review: new method of handling failures, part 2 of 6

Zoltan Somogyi zs at cs.mu.OZ.AU
Fri Jul 17 17:43:15 AEST 1998


> > 	% XXX We could use the sanity checking mechanism...
> > code_info__clear_all_registers -->
> > 	code_info__get_exprn_info(Exprn0),
> > 	{ code_exprn__clobber_regs([], Exprn0, Exprn) },
> > 	code_info__set_exprn_info(Exprn).
> 
> I don't understand the comment.

I have replaced it with

	% As a sanity check, we could test whether any known variable
	% has its only value in a reguster, but we don't.

> > 	% The det stack frame is organized as follows.
> > 	%
> > 	%		... unused ...
> > 	%	sp --->	<first unused slot>
> > 	%		<space for local var 1>
> > 	%		... local vars ...
> > 	%		<space for local var n>
> > 	%		<space for temporary reg save 1>
> > 	%		... temporary reg saves ...
> > 	%		<space for temporary reg save n>
> 
> It is?  Are you sure??

Yes, I am sure.

> I thought it was
> 
>  	%		... unused ...
>  	%	sp --->	<first unused slot>
>  	%		<space for succip>
> 			...
> 
> Did that change?

No, it didn't change; you remembered wrong. Given that the offsets are
from sp, and that variables are allocated before both succip (as well
well as before temporaries), the variables must have the smallest offsets,
not succip. (Otherwise we wouldn't know in time what offsets to give to
slots holding variables.)

> > 	% `code_info__num_stackslots' counts the number of slots reserved
> > 	% for saving local variables. XXX

I added that XXX when I noticed that there is no procedure with that name.
I have removed the obsolete comments, and documented all the interface
procedures in the submodule.

Any more comments on the rest of the change?

Zoltan.



More information about the developers mailing list