[m-rev.] for review: trace goals for erlang

Peter Ross pro at missioncriticalit.com
Thu Jun 14 11:49:32 AEST 2007


On Tue, Jun 12, 2007 at 05:55:40PM +1000, Peter Wang wrote:
> Estimated hours taken: 6
> Branches: main
> 
> Support trace goals and trace runtime conditions in Erlang backend.
> 
> compiler/elds.m:
> 	Extend the ELDS to record the environment variables referenced by
> 	each procedure.
> 
> 	Extend the ELDS for Erlang send (!) and `receive' statements.
> 
> 	Add elds_call_self which generates a call to the Erlang builtin
> 	function `self'.
> 
> compiler/elds_to_erlang.m:
> 	Output `ENVVAR' mkinit_erl directives for all environment variables
> 	referenced in the module.
> 
> 	At program startup, call the init_env_vars() function generated by
> 	mkinit_erl.
> 
> compiler/erl_call_gen.m:
> 	Generate code for the special foreign_procs which are inserted for
> 	trace goals with runtime conditions.
> 
> compiler/erl_code_gen.m:
> 	Generate code for trace goals.
> 
> 	Conform to ELDS changes.
> 	
> compiler/erl_code_util.m:
> 	Extend erl_gen_info to keep track of the environment variables
> 	referenced by the procedure being generated.
> 
> 	Conform to ELDS changes.
> 
> library/erlang_builtin.m:
> 	Make the Erlang global server handle messages used by init_env_vars()
> 	and to evaluate trace runtime conditions.
> 
> compiler/simplify.m:
> 	Don't abort at trace conditions for Erlang target since they are
> 	supported now.
> 
> util/mkinit_erl.c:
> 	Generate an init_env_vars() function in an _init.erl file.  When called
> 	at startup, this will cause the Erlang global server to record whether
> 	each environment variable is set or not.
> 
> 	Remove the code to check that the environment variable name in an
> 	ENVVAR directive is suitable for C.  It didn't take into account that
> 	in Erlang files the ENVVAR directive has a "% " prefix, and also we
> 	generate the directive so that funny characters will be suitably
> 	escaped for an Erlang string so the restriction isn't necessary.
> 
Looks fine.
--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to:       mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions:          mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the reviews mailing list