[m-dev.] bug fix to frameopt

Fergus Henderson fjh at cs.mu.oz.au
Thu Jul 17 17:32:19 AEST 1997


Zoltan Somogyi, you wrote:
> 
> +:- pred find_any_calls(list(label)::in, block_map::in, bool::out) is det.
> +
> +find_any_calls([], _BlockMap, no).
> +find_any_calls([Label | Labels], BlockMap, AnyCalls) :-
> +	map__lookup(BlockMap, Label, BlockInfo),
> +	BlockInfo = block_info(_, Instrs, _, _, _),
> +	(
> +		list__member(Instr, Instrs),
> +		Instr = call(_, _, _, _) - _
> +	->
> +		AnyCalls = yes
> +	;
> +		find_any_calls(Labels, BlockMap, AnyCalls)
> +	).

What about pragma_c's that call back Mercury code?
Will they also clobber the succip?

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