[m-rev.] for review: rbmm debugging/profiling grades

Zoltan Somogyi zs at csse.unimelb.edu.au
Wed Oct 10 13:48:28 AEST 2007


For review by Julien.

Zoltan.

Allow the specification of RBMM debugging and profiling via grades.

runtime/mercury_grade.h:
	Add rbmmd and rbmmp as grade components denoting RBMM with debugging
	and profiling respectively, while rbmmdp is RBMM with both.

compiler/options.m:
	Add --use-regions-debug and --use-regions-profiling as the Mercury
	compiler options specifying RBMM debugging and profiling.

compiler/handle_options.m:
	Handle the new

compiler/compile_target_code.m:
runtime/mercury_conf_param.h:
scripts/canonical_grade.sh-subr:
scripts/final_grade_options.sh-subr:
scripts/init_grade_options.sh-subr:
scripts/mgnuc.in:
scripts/parse_grade_options.sh-subr:
	Handle the new grade components.

configure.in:
	Add the new option --enable-rbmm-grades, for use by Quan and me
	for now, that causes the installation of all four RBMM grades.
	Once RBMM is ready for use by non-implementors, we can change this
	to install only the rbmm grade, and not the rbmmd/rbmmp/rbmmdp grades.

cvs diff: Diffing .
Index: configure.in
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/configure.in,v
retrieving revision 1.501
diff -u -b -r1.501 configure.in
--- configure.in	3 Oct 2007 12:11:53 -0000	1.501
+++ configure.in	9 Oct 2007 16:19:11 -0000
@@ -2918,6 +2918,11 @@
                   [install a low level debugging version of the high level C grade]),
    enable_hlc_ll_debug_grades="$enableval",enable_hlc_ll_debug_grades=no)
 
+AC_ARG_ENABLE(rbmm-grades,
+   AC_HELP_STRING([--enable-rbmm-grades],
+                  [install experimental region-based memory management versions of the library]),
+   enable_rbmm_grades="$enableval",enable_rbmm_grades=no)
+
 # We don't enable the .NET grades by default because that may lead to
 # installation process breaking on Linux systems that have DotGNU or Mono
 # installed.
@@ -2956,6 +2961,7 @@
 	enable_dmm_grades=no
 	enable_hlc_prof_grades=no
 	enable_hlc_ll_debug_grades=no
+	enable_rbmm_grades=no
 	enable_par_grades=no
 	enable_dotnet_grades=no
 	enable_java_grade=no
@@ -3131,6 +3137,12 @@
 	LIBGRADES="$LIBGRADES hlc.gcd.ll_debug"
 fi
 
+# Add rbmm grades
+if test "$enable_rbmm_grades" = yes; then
+	LIBGRADES="$LIBGRADES asm_fast.gc.rbmm \
+		asm_fast.gc.rbmmd asm_fast.gc.rbmmp asm_fast.gc.rbmmdp"
+fi
+
 # Add the .par (thread-safe) grade, if it is supported for this system
 # Only enable it if this system has pthreads installed.
 #
cvs diff: Diffing analysis
cvs diff: Diffing bindist
cvs diff: Diffing boehm_gc
cvs diff: Diffing boehm_gc/Mac_files
cvs diff: Diffing boehm_gc/cord
cvs diff: Diffing boehm_gc/cord/private
cvs diff: Diffing boehm_gc/doc
cvs diff: Diffing boehm_gc/include
cvs diff: Diffing boehm_gc/include/private
cvs diff: Diffing boehm_gc/libatomic_ops-1.2
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/doc
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/src
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/src/atomic_ops
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/src/atomic_ops/sysdeps
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/hpc
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/ibmc
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/icc
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/msftc
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/sunc
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/tests
cvs diff: Diffing boehm_gc/tests
cvs diff: Diffing boehm_gc/windows-untested
cvs diff: Diffing boehm_gc/windows-untested/vc60
cvs diff: Diffing boehm_gc/windows-untested/vc70
cvs diff: Diffing boehm_gc/windows-untested/vc71
cvs diff: Diffing browser
cvs diff: Diffing bytecode
cvs diff: Diffing compiler
Index: compiler/compile_target_code.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/compiler/compile_target_code.m,v
retrieving revision 1.120
diff -u -b -r1.120 compile_target_code.m
--- compiler/compile_target_code.m	31 Aug 2007 07:16:41 -0000	1.120
+++ compiler/compile_target_code.m	9 Oct 2007 17:34:59 -0000
@@ -668,7 +668,24 @@
     globals.io_lookup_bool_option(use_regions, UseRegions, !IO),
     (
         UseRegions = yes,
-        UseRegionsOpt = "-DMR_USE_REGIONS "
+        UseRegionsOpt0 = "-DMR_USE_REGIONS ",
+        globals.io_lookup_bool_option(use_regions_debug, UseRegionsDebug, !IO),
+        (
+            UseRegionsDebug = yes,
+            UseRegionsOpt1 = UseRegionsOpt0 ++ "-DMR_RBMM_DEBUG "
+        ;
+            UseRegionsDebug = no,
+            UseRegionsOpt1 = UseRegionsOpt0
+        ),
+        globals.io_lookup_bool_option(use_regions_profiling,
+            UseRegionsProfiling, !IO),
+        (
+            UseRegionsProfiling = yes,
+            UseRegionsOpt = UseRegionsOpt1 ++ "-DMR_RBMM_PROFILING "
+        ;
+            UseRegionsProfiling = no,
+            UseRegionsOpt = UseRegionsOpt1
+        )
     ;
         UseRegions = no,
         UseRegionsOpt = ""
Index: compiler/handle_options.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/compiler/handle_options.m,v
retrieving revision 1.308
diff -u -b -r1.308 handle_options.m
--- compiler/handle_options.m	13 Aug 2007 03:01:39 -0000	1.308
+++ compiler/handle_options.m	9 Oct 2007 17:35:52 -0000
@@ -2509,7 +2509,21 @@
     no, yes).
     
     % Region-based memory managment components
-grade_component_table("rbmm", comp_regions, [use_regions - bool(yes)],
+grade_component_table("rbmm", comp_regions,
+    [use_regions - bool(yes),
+    use_regions_debug - bool(no), use_regions_profiling - bool(no)],
+    no, yes).  
+grade_component_table("rbmmd", comp_regions,
+    [use_regions - bool(yes),
+    use_regions_debug - bool(yes), use_regions_profiling - bool(no)],
+    no, yes).  
+grade_component_table("rbmmp", comp_regions,
+    [use_regions - bool(yes),
+    use_regions_debug - bool(no), use_regions_profiling - bool(yes)],
+    no, yes).  
+grade_component_table("rbmmdp", comp_regions,
+    [use_regions - bool(yes),
+    use_regions_debug - bool(yes), use_regions_profiling - bool(yes)],
     no, yes).  
 
 :- pred reset_grade_options(option_table::in, option_table::out) is det.
Index: compiler/options.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/compiler/options.m,v
retrieving revision 1.588
diff -u -b -r1.588 options.m
--- compiler/options.m	9 Oct 2007 07:59:46 -0000	1.588
+++ compiler/options.m	9 Oct 2007 16:21:48 -0000
@@ -312,6 +312,8 @@
     ;       extend_stacks_when_needed
     ;       stack_segments
     ;       use_regions
+    ;       use_regions_debug
+    ;       use_regions_profiling
     ;       source_to_source_debug
 
     % Data representation compilation model options
@@ -1116,6 +1118,8 @@
     extend_stacks_when_needed           -   bool(no),
     stack_segments                      -   bool(no),
     use_regions                         -   bool(no),
+    use_regions_debug                   -   bool(no),
+    use_regions_profiling               -   bool(no),
     use_minimal_model_stack_copy        -   bool(no),
     use_minimal_model_own_stacks        -   bool(no),
     minimal_model_debug                 -   bool(no),
@@ -1908,6 +1912,8 @@
 long_option("extend-stacks-when-needed",    extend_stacks_when_needed).
 long_option("stack-segments",       stack_segments).
 long_option("use-regions",          use_regions).
+long_option("use-regions-debug",    use_regions_debug).
+long_option("use-regions-profiling",use_regions_profiling).
 long_option("ssdb",                 source_to_source_debug).
 long_option("source-to-source-debug", source_to_source_debug).
 % Data representation options
@@ -3816,6 +3822,7 @@
         "\tSpecify that code that increments a stack pointer must allocate",
         "\ta new stack segment when the limit on the old one is reached."
         % RBMM is undocumented since it is still experimental.
+        % should also document rbmmd rbmmp rbmmdp
         %"--use-regions\t\t(grade modifier: `.rbmm')",
         %"\tEnable support for region-based memory managment."
     ]),
cvs diff: Diffing compiler/notes
cvs diff: Diffing debian
cvs diff: Diffing debian/patches
cvs diff: Diffing deep_profiler
cvs diff: Diffing deep_profiler/notes
cvs diff: Diffing doc
cvs diff: Diffing extras
cvs diff: Diffing extras/base64
cvs diff: Diffing extras/cgi
cvs diff: Diffing extras/complex_numbers
cvs diff: Diffing extras/complex_numbers/samples
cvs diff: Diffing extras/complex_numbers/tests
cvs diff: Diffing extras/concurrency
cvs diff: Diffing extras/curs
cvs diff: Diffing extras/curs/samples
cvs diff: Diffing extras/curses
cvs diff: Diffing extras/curses/sample
cvs diff: Diffing extras/dynamic_linking
cvs diff: Diffing extras/error
cvs diff: Diffing extras/fixed
cvs diff: Diffing extras/gator
cvs diff: Diffing extras/gator/generations
cvs diff: Diffing extras/gator/generations/1
cvs diff: Diffing extras/graphics
cvs diff: Diffing extras/graphics/easyx
cvs diff: Diffing extras/graphics/easyx/samples
cvs diff: Diffing extras/graphics/mercury_allegro
cvs diff: Diffing extras/graphics/mercury_allegro/examples
cvs diff: Diffing extras/graphics/mercury_allegro/samples
cvs diff: Diffing extras/graphics/mercury_allegro/samples/demo
cvs diff: Diffing extras/graphics/mercury_allegro/samples/mandel
cvs diff: Diffing extras/graphics/mercury_allegro/samples/pendulum2
cvs diff: Diffing extras/graphics/mercury_allegro/samples/speed
cvs diff: Diffing extras/graphics/mercury_glut
cvs diff: Diffing extras/graphics/mercury_opengl
cvs diff: Diffing extras/graphics/mercury_tcltk
cvs diff: Diffing extras/graphics/samples
cvs diff: Diffing extras/graphics/samples/calc
cvs diff: Diffing extras/graphics/samples/gears
cvs diff: Diffing extras/graphics/samples/maze
cvs diff: Diffing extras/graphics/samples/pent
cvs diff: Diffing extras/lazy_evaluation
cvs diff: Diffing extras/lex
cvs diff: Diffing extras/lex/samples
cvs diff: Diffing extras/lex/tests
cvs diff: Diffing extras/log4m
cvs diff: Diffing extras/logged_output
cvs diff: Diffing extras/moose
cvs diff: Diffing extras/moose/samples
cvs diff: Diffing extras/moose/tests
cvs diff: Diffing extras/mopenssl
cvs diff: Diffing extras/morphine
cvs diff: Diffing extras/morphine/non-regression-tests
cvs diff: Diffing extras/morphine/scripts
cvs diff: Diffing extras/morphine/source
cvs diff: Diffing extras/net
cvs diff: Diffing extras/odbc
cvs diff: Diffing extras/posix
cvs diff: Diffing extras/posix/samples
cvs diff: Diffing extras/quickcheck
cvs diff: Diffing extras/quickcheck/tutes
cvs diff: Diffing extras/references
cvs diff: Diffing extras/references/samples
cvs diff: Diffing extras/references/tests
cvs diff: Diffing extras/solver_types
cvs diff: Diffing extras/solver_types/library
cvs diff: Diffing extras/trailed_update
cvs diff: Diffing extras/trailed_update/samples
cvs diff: Diffing extras/trailed_update/tests
cvs diff: Diffing extras/windows_installer_generator
cvs diff: Diffing extras/windows_installer_generator/sample
cvs diff: Diffing extras/windows_installer_generator/sample/images
cvs diff: Diffing extras/xml
cvs diff: Diffing extras/xml/samples
cvs diff: Diffing extras/xml_stylesheets
cvs diff: Diffing java
cvs diff: Diffing java/runtime
cvs diff: Diffing library
cvs diff: Diffing mdbcomp
cvs diff: Diffing profiler
cvs diff: Diffing robdd
cvs diff: Diffing runtime
Index: runtime/mercury_conf_param.h
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/runtime/mercury_conf_param.h,v
retrieving revision 1.100
diff -u -b -r1.100 mercury_conf_param.h
--- runtime/mercury_conf_param.h	9 Oct 2007 07:59:53 -0000	1.100
+++ runtime/mercury_conf_param.h	9 Oct 2007 16:28:13 -0000
@@ -63,6 +63,8 @@
 ** MR_HIGHTAGS
 ** MR_TAGBITS
 ** MR_USE_REGIONS
+** MR_RBMM_DEBUG
+** MR_RBMM_PROFILING
 **	See the documentation for
 **		--high-level-code
 **		--high-level-data
@@ -86,6 +88,8 @@
 **		--tags
 **		--num-tag-bits
 **		--use-regions
+**		--use-regions-debug
+**		--use-regions-profiling
 **	(respectively) in the mmc help message or the Mercury User's Guide.
 **
 ** MR_PIC
@@ -306,14 +310,6 @@
 ** MR_STM_DEBUG
 **	Enables low-level debugging messages from the code that implements
 **	transactions used by software transactional memory.
-**
-** MR_RBMM_DEBUG
-**	Enables low-level debugging messages from the code that implements
-**	region-based memory management.
-**
-** MR_RBMM_PROFILING
-**	Enables low-level profiling messages from the code that implements
-**	region-based memory management.
 */
 
 /*
Index: runtime/mercury_grade.h
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/runtime/mercury_grade.h,v
retrieving revision 1.73
diff -u -b -r1.73 mercury_grade.h
--- runtime/mercury_grade.h	12 Sep 2007 06:21:15 -0000	1.73
+++ runtime/mercury_grade.h	9 Oct 2007 15:16:23 -0000
@@ -412,8 +412,23 @@
 #endif
 
 #if defined(MR_USE_REGIONS)
+  #if defined(MR_RBMM_DEBUG)
+    #if defined(MR_RBMM_PROFILING)
+      #define MR_GRADE_PART_17		MR_PASTE2(MR_GRADE_PART_16, _rbmmdp)
+      #define MR_GRADE_OPT_PART_17	MR_GRADE_OPT_PART_16 ".rbmmdp"
+    #else
+      #define MR_GRADE_PART_17		MR_PASTE2(MR_GRADE_PART_16, _rbmmd)
+      #define MR_GRADE_OPT_PART_17	MR_GRADE_OPT_PART_16 ".rbmmd"
+    #endif
+  #else
+    #if defined(MR_RBMM_PROFILING)
+      #define MR_GRADE_PART_17		MR_PASTE2(MR_GRADE_PART_16, _rbmmp)
+      #define MR_GRADE_OPT_PART_17	MR_GRADE_OPT_PART_16 ".rbmmp"
+    #else
   #define MR_GRADE_PART_17	MR_PASTE2(MR_GRADE_PART_16, _rbmm)
   #define MR_GRADE_OPT_PART_17	MR_GRADE_OPT_PART_16 ".rbmm"
+    #endif
+  #endif
 #else
   #define MR_GRADE_PART_17	MR_GRADE_PART_16
   #define MR_GRADE_OPT_PART_17	MR_GRADE_OPT_PART_16
cvs diff: Diffing runtime/GETOPT
cvs diff: Diffing runtime/machdeps
cvs diff: Diffing samples
cvs diff: Diffing samples/c_interface
cvs diff: Diffing samples/c_interface/c_calls_mercury
cvs diff: Diffing samples/c_interface/cplusplus_calls_mercury
cvs diff: Diffing samples/c_interface/mercury_calls_c
cvs diff: Diffing samples/c_interface/mercury_calls_cplusplus
cvs diff: Diffing samples/c_interface/mercury_calls_fortran
cvs diff: Diffing samples/c_interface/simpler_c_calls_mercury
cvs diff: Diffing samples/c_interface/simpler_cplusplus_calls_mercury
cvs diff: Diffing samples/c_interface/standalone_c
cvs diff: Diffing samples/diff
cvs diff: Diffing samples/muz
cvs diff: Diffing samples/rot13
cvs diff: Diffing samples/solutions
cvs diff: Diffing samples/solver_types
cvs diff: Diffing samples/tests
cvs diff: Diffing samples/tests/c_interface
cvs diff: Diffing samples/tests/c_interface/c_calls_mercury
cvs diff: Diffing samples/tests/c_interface/cplusplus_calls_mercury
cvs diff: Diffing samples/tests/c_interface/mercury_calls_c
cvs diff: Diffing samples/tests/c_interface/mercury_calls_cplusplus
cvs diff: Diffing samples/tests/c_interface/mercury_calls_fortran
cvs diff: Diffing samples/tests/c_interface/simpler_c_calls_mercury
cvs diff: Diffing samples/tests/c_interface/simpler_cplusplus_calls_mercury
cvs diff: Diffing samples/tests/diff
cvs diff: Diffing samples/tests/muz
cvs diff: Diffing samples/tests/rot13
cvs diff: Diffing samples/tests/solutions
cvs diff: Diffing samples/tests/toplevel
cvs diff: Diffing scripts
Index: scripts/canonical_grade.sh-subr
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/scripts/canonical_grade.sh-subr,v
retrieving revision 1.19
diff -u -b -r1.19 canonical_grade.sh-subr
--- scripts/canonical_grade.sh-subr	31 Jul 2007 07:58:44 -0000	1.19
+++ scripts/canonical_grade.sh-subr	9 Oct 2007 16:56:43 -0000
@@ -1,4 +1,6 @@
 #---------------------------------------------------------------------------#
+# vim: ft=sh
+#---------------------------------------------------------------------------#
 # Copyright (C) 2000-2007 The University of Melbourne.
 # This file may only be copied under the terms of the GNU General
 # Public License - see the file COPYING in the Mercury distribution.
@@ -167,7 +169,15 @@
 esac
 
 case $use_regions in
-	true)		GRADE="$GRADE.rbmm" ;;
-	false)		;;
+	true)
+		case $use_regions_debug,$use_regions_profiling in
+			false,false)	GRADE="$GRADE.rbmm" ;;
+			false,true)	GRADE="$GRADE.rbmmp" ;;
+			true,false)	GRADE="$GRADE.rbmmd" ;;
+			true,true)	GRADE="$GRADE.rbmmdp" ;;
+		esac
+		;;
+	false)
+		;;
 esac
 
Index: scripts/final_grade_options.sh-subr
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/scripts/final_grade_options.sh-subr,v
retrieving revision 1.16
diff -u -b -r1.16 final_grade_options.sh-subr
--- scripts/final_grade_options.sh-subr	20 Jul 2007 01:22:05 -0000	1.16
+++ scripts/final_grade_options.sh-subr	9 Oct 2007 16:09:25 -0000
@@ -95,4 +95,14 @@
 	;;
 esac
 
+#
+# --use-regions-debug and --use-regions-profiling aren't meaningful
+# without --use-regions
+#
+case $use_regions in false)
+	use_regions_debug=false
+	use_regions_profiling=false
+	;;
+esac
+
 #---------------------------------------------------------------------------#
Index: scripts/init_grade_options.sh-subr
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/scripts/init_grade_options.sh-subr,v
retrieving revision 1.30
diff -u -b -r1.30 init_grade_options.sh-subr
--- scripts/init_grade_options.sh-subr	31 Jul 2007 07:58:44 -0000	1.30
+++ scripts/init_grade_options.sh-subr	9 Oct 2007 15:59:41 -0000
@@ -59,6 +59,8 @@
 # --high-level-data is not yet documented because it is not yet implemented
 # --high-level is not yet documented because --high-level-data is
 #		not yet implemented
+# --use-regions-debug and --use-regions-profiling are not yet documented
+#		since they are not yet stable
 
 target=c
 highlevel_code=false
@@ -87,6 +89,8 @@
 extend_stacks=false
 stack_segments=false
 use_regions=false
+use_regions_debug=false
+use_regions_profiling=false
 
 case $# in
 	0) set - --grade "$DEFAULT_GRADE" ;;
Index: scripts/mgnuc.in
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/scripts/mgnuc.in,v
retrieving revision 1.121
diff -u -b -r1.121 mgnuc.in
--- scripts/mgnuc.in	31 Jul 2007 07:58:45 -0000	1.121
+++ scripts/mgnuc.in	9 Oct 2007 16:14:05 -0000
@@ -405,8 +405,20 @@
 esac
 
 case $use_regions in
-    true)           REGION_OPTS="-DMR_USE_REGIONS" ;;
-    false)          REGION_OPTS="" ;;
+    true)
+        REGION_OPTS_0="-DMR_USE_REGIONS"
+        case $use_regions_debug in
+            true)   REGION_OPTS_1="$REGION_OPTS_0 -DMR_RBMM_DEBUG" ;;
+            false)  REGION_OPTS_1="$REGION_OPTS_0" ;;
+        esac
+        case $use_regions_profiling in
+            true)   REGION_OPTS="$REGION_OPTS_1 -DMR_RBMM_PROFILING" ;;
+            false)  REGION_OPTS="$REGION_OPTS_1" ;;
+        esac
+        ;;
+    false)
+        REGION_OPTS=""
+        ;;
 esac
 
 GCC_OPTS="$NEST_OPTS $ASM_OPTS $GOTO_OPTS $REG_OPTS"
Index: scripts/parse_grade_options.sh-subr
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/scripts/parse_grade_options.sh-subr,v
retrieving revision 1.37
diff -u -b -r1.37 parse_grade_options.sh-subr
--- scripts/parse_grade_options.sh-subr	31 Jul 2007 07:58:45 -0000	1.37
+++ scripts/parse_grade_options.sh-subr	9 Oct 2007 16:04:42 -0000
@@ -205,6 +205,16 @@
     --no-use-regions)
         use_regions=false ;; 
 
+    --use-regions-debug)
+        use_regions_debug=true;;
+    --no-use-regions-debug)
+        use_regions_debug=false ;; 
+
+    --use-regions-profiling)
+        use_regions_profiling=true;;
+    --no-use-regions-profiling)
+        use_regions_profiling=false ;; 
+
     -s|--grade)
         shift
         grade="$1";
@@ -242,6 +252,8 @@
         extend_stacks=false
         stack_segments=false
         use_regions=false
+        use_regions_debug=false
+        use_regions_profiling=false
 
         grade_pieces=`echo $grade | tr '.' ' '`
         for grade_piece in $grade_pieces
@@ -495,7 +507,28 @@
 
                 rbmm)
                     use_regions=true
+                    use_regions_debug=false
+                    use_regions_profiling=false
+                    ;;
+
+                rbmmd)
+                    use_regions=true
+                    use_regions_debug=true
+                    use_regions_profiling=false
                     ;;
+
+                rbmmp)
+                    use_regions=true
+                    use_regions_debug=false
+                    use_regions_profiling=true
+                    ;;
+
+                rbmmdp)
+                    use_regions=true
+                    use_regions_debug=true
+                    use_regions_profiling=true
+                    ;;
+
                 *)
                     echo "$0: unknown grade component \`$grade_piece'" 1>&2
                     exit 1
cvs diff: Diffing slice
cvs diff: Diffing ssdb
cvs diff: Diffing tests
cvs diff: Diffing tests/benchmarks
cvs diff: Diffing tests/debugger
cvs diff: Diffing tests/debugger/declarative
cvs diff: Diffing tests/dppd
cvs diff: Diffing tests/general
cvs diff: Diffing tests/general/accumulator
cvs diff: Diffing tests/general/string_format
cvs diff: Diffing tests/general/structure_reuse
cvs diff: Diffing tests/grade_subdirs
cvs diff: Diffing tests/hard_coded
cvs diff: Diffing tests/hard_coded/exceptions
cvs diff: Diffing tests/hard_coded/purity
cvs diff: Diffing tests/hard_coded/sub-modules
cvs diff: Diffing tests/hard_coded/typeclasses
cvs diff: Diffing tests/invalid
cvs diff: Diffing tests/invalid/purity
cvs diff: Diffing tests/misc_tests
cvs diff: Diffing tests/mmc_make
cvs diff: Diffing tests/mmc_make/lib
cvs diff: Diffing tests/par_conj
cvs diff: Diffing tests/recompilation
cvs diff: Diffing tests/tabling
cvs diff: Diffing tests/term
cvs diff: Diffing tests/trailing
cvs diff: Diffing tests/valid
cvs diff: Diffing tests/warnings
cvs diff: Diffing tools
cvs diff: Diffing trace
cvs diff: Diffing util
cvs diff: Diffing vim
cvs diff: Diffing vim/after
cvs diff: Diffing vim/ftplugin
cvs diff: Diffing vim/syntax
--------------------------------------------------------------------------
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