[m-rev.] for review: add ll_debug and gcd grade specifiers

Julien Fischer juliensf at csse.unimelb.edu.au
Mon Oct 2 18:53:27 AEST 2006


On Sat, 30 Sep 2006, Peter Ross wrote:

> Estimated hours taken: 4
> Branches: main
>
> Enable the new grade specifiers, ll_debug and gcd.
> ll_debug means compile with -O0 and -g.
> gcd means compile the boehm_gc with #defines that
> allow memory leaks to be debugged.
>
> boehm_gc/Makefile:
> 	Use findstring to see which grade specifiers are available.
> 	Only add BOEHM_CFLAGS_FOR_THREADS if par in GRADE.
> 	Only define NO_DEBUGGING if we are not in gcd.
>
> compiler/compile_target_code.m:
> compiler/globals.m:
> compiler/handle_options.m:
> 	Handle the gc_boehm_debug.
>
> compiler/handle_options.m:
> runtime/mercury_grade.h:
> scripts/canonical_grade.sh-subr:
> scripts/init_grade_options.sh-subr:
> scripts/parse_grade_options.sh-subr:
> 	Handle the new grade specifiers.
>
> scripts/mgnuc.in:
> 	Set the #defines implied by the new grade specifiers.
>
> scripts/ml.in:
> 	Calculate the name of the boehm_gc library.

...

> Index: compiler/handle_options.m
> ===================================================================
> RCS file: /home/mercury1/repository/mercury/compiler/handle_options.m,v
> retrieving revision 1.273
> diff -U5 -r1.273 handle_options.m
> --- compiler/handle_options.m	10 Sep 2006 23:38:59 -0000	1.273
> +++ compiler/handle_options.m	30 Sep 2006 17:01:50 -0000
> @@ -1954,10 +1954,11 @@
>     ;       comp_trail          % whether or not to use trailing
>     ;       comp_tag            % whether or not to reserve a tag
>     ;       comp_minimal_model  % whether we set up for minimal model tabling
>     ;       comp_pic            % Do we need to reserve a register for
>                                 % PIC (position independent code)?
> +    ;       comp_lowlevel       % what to do to target code

I suggest s/comp_lowlevel/comp_lowlevel_debug/ or possibly
comp_target_debug.  Also, the attached comment doesn't make sense to me.

>     ;       comp_trace          % tracing/debugging options
>     ;       comp_stack_extend.  % automatic stack extension

...

> @@ -2272,10 +2274,14 @@
>     % Debugging/Tracing components
> grade_component_table("decldebug", comp_trace,
>     [exec_trace - bool(yes), decl_debug - bool(yes)], no, yes).
> grade_component_table("debug", comp_trace,
>     [exec_trace - bool(yes), decl_debug - bool(no)], no, yes).
> +
> +    % Stack extension components
> +grade_component_table("ll_debug", comp_lowlevel,
> +    [target_debug - bool(yes)], no, yes).

The comment there is a cut-and-paste error: .ll_debug has nothing
to do with stack extension.

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