[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