[m-rev.] for review: document .stseg grades

Julien Fischer juliensf at csse.unimelb.edu.au
Thu Oct 25 16:15:35 AEST 2007


For review by anyone.

Estimated hours taken: 0.5
Branches: main

Document the stack segments (.stseg) grades properly.

Add an option to configure that includes some .stseg grades in the set
of grades to be installed.

compiler/options.m:
 	Mention the `.stseg' grade component in the usage message.

doc/user_guide.texi:
 	Document the `.stseg' grade component.

 	Add some missing option to the grade option index.

configure.in:
 	Add a new option `--enable-stseg-grades' that includes a .stseg
 	version of the base LLDS grade in the set of grades to install.
 	(If trailing is not disabled it also includes a .stseg version
 	of the base LLDS trailing grade.)

Julien.

Index: configure.in
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/configure.in,v
retrieving revision 1.506
diff -u -r1.506 configure.in
--- configure.in	25 Oct 2007 05:40:20 -0000	1.506
+++ configure.in	25 Oct 2007 06:14:05 -0000
@@ -2923,6 +2923,11 @@
                    [install experimental region-based memory management versions of the library]),
     enable_rbmm_grades="$enableval",enable_rbmm_grades=no)

+AC_ARG_ENABLE(stseg-grades,
+    AC_HELP_STRING([--enable-stseg-grades],
+    	[install stack segments versions of the library]),
+    [enable_stseg_grades="$enableval"],[enable_stseg_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.
@@ -2943,6 +2948,7 @@
     AC_HELP_STRING([--enable-erlang-grade], [install the Erlang grade]),
     enable_erlang_grade="$enableval",enable_erlang_grade=no)

+
  AC_ARG_ENABLE(libgrades,
      AC_HELP_STRING([--enable-libgrades=...],
                     [install exactly the given versions of the library.
@@ -2963,6 +2969,7 @@
  	enable_hlc_ll_debug_grades=no
  	enable_rbmm_grades=no
  	enable_par_grades=no
+	enable_stseg_grades=no
  	enable_dotnet_grades=no
  	enable_java_grade=no
  	enable_erlang_grade=no
@@ -3084,7 +3091,7 @@
  fi

  if test "$enable_trail_grades" = yes; then
-	# add `.tr' (--trailing) grades
+	# Add `.tr' (--trailing) grades.
  	LIBGRADES="$LIBGRADES $DEFAULT_BASE_GRADE.gc.tr"
  	if test "$enable_inefficient_grades" = yes; then
  		if test "$enable_nogc_grades" = yes; then
@@ -3100,7 +3107,7 @@
  	fi
  fi

-# add `.mm' (--minimal-model) grades
+# Add `.mm' (--minimal-model) grades.
  if test "$enable_mm_grades" = yes; then
  	LIBGRADES="$LIBGRADES \
  		$BEST_LLDS_BASE_GRADE.gc.mmsc \
@@ -3112,7 +3119,7 @@
  	fi
  fi

-# add `.mmos' grades
+# Add `.mmos' grades.
  if test "$enable_mmos_grades" = yes; then
  	LIBGRADES="$LIBGRADES \
  		$BEST_LLDS_BASE_GRADE.gc.mmos \
@@ -3124,7 +3131,7 @@
  	fi
  fi

-# add `.debug' (--debug) and `.decldebug' (--decl-debug) grades
+# Add `.debug' (--debug) and `.decldebug' (--decl-debug) grades.
  if test "$enable_debug_grades" = yes; then
  	LIBGRADES="$LIBGRADES $BEST_DEBUG_BASE_GRADE.gc.tr.debug"
  	if test "$enable_decl_debug_grades" = yes; then
@@ -3132,12 +3139,12 @@
  	fi
  fi

-# Add low level debug grades
+# Add low level debug grades.
  if test "$enable_hlc_ll_debug_grades" = yes; then
  	LIBGRADES="$LIBGRADES hlc.gcd.ll_debug"
  fi

-# Add rbmm grades
+# Add rbmm grades.
  if test "$enable_rbmm_grades" = yes; then
  	# As of Oct 2007, all the users of RBMM grades are implementors
  	# who may need the debugging and profiling versions.
@@ -3157,7 +3164,17 @@
  	LIBGRADES="$LIBGRADES hlc.par.gc"
  fi

-# add .NET back-end grades
+# Add the .stseg (stack segments) version of the library.
+if test "$enable_stseg_grades" = "yes"
+then
+	LIBGRADES="$LIBGRADES $BEST_LLDS_BASE_GRADE.gc.stseg"
+	if test "$enable_trail_grades" = "yes"
+	then
+		LIBGRADES="$LIBGRADES $BEST_LLDS_BASE_GRADE.gc.tr.stseg"
+	fi
+fi
+
+# Add .NET back-end grades.
  if test $mercury_cv_microsoft_dotnet = yes -a "$enable_dotnet_grades" = yes
  then
  	LIBGRADES="$LIBGRADES il"
Index: compiler/options.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/compiler/options.m,v
retrieving revision 1.596
diff -u -r1.596 options.m
--- compiler/options.m	25 Oct 2007 02:00:37 -0000	1.596
+++ compiler/options.m	25 Oct 2007 06:14:05 -0000
@@ -3650,7 +3650,7 @@
  % it has been superceded by the il grade.
          "\tor one of those with one or more of the grade modifiers",
          "\t`.gc', `.mps', `.prof', `.memprof', `.profdeep', `.tr',",
-        "\t`.spf', `.debug', `.par' and/or `.pic_reg' appended.",
+        "\t`.spf', `.stseg', `.debug', `.par' and/or `.pic_reg' appended.",
          "\tDepending on your particular installation, only a subset",
          "\tof these possible grades will have been installed.",
          "\tAttempting to use a grade which has not been installed",
@@ -3823,7 +3823,7 @@
          "--extend-stacks-when-needed",
          "\tSpecify that code that increments a stack pointer must",
          "\textend the stack when this is needed.",
-        "--stack-segments",
+        "--stack-segments\t\t(grade modifier: `.stseg')",
          "\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.
Index: doc/user_guide.texi
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/doc/user_guide.texi,v
retrieving revision 1.548
diff -u -r1.548 user_guide.texi
--- doc/user_guide.texi	25 Oct 2007 02:00:39 -0000	1.548
+++ doc/user_guide.texi	25 Oct 2007 06:14:05 -0000
@@ -7130,6 +7130,7 @@
  @cindex .mps (grade modifier)
  @cindex .agc (grade modifier)
  @cindex .spf (grade modifier)
+ at cindex .stseg (grade modifier)
  @cindex .debug (grade modifier)
  @cindex .decldebug (grade modifier)
  @c @cindex .ssdebug (grade modifier)
@@ -7141,6 +7142,7 @@
  @cindex gc (grade modifier)
  @cindex agc (grade modifier)
  @cindex spf (grade modifier)
+ at cindex stseg (grade modifier)
  @cindex debug (grade modifier)
  @cindex decldebug (grade modifier)
  @c @cindex ssdebug (grade modifier)
@@ -7167,6 +7169,9 @@
  @item Whether to use single-precision representation of floating point values:
  @samp{spf} (the default is to use double-precision floats)

+ at item Whether to allocate a new stack segment when the limit on the old one
+is reached: @samp{stseg} (the default is not to allocate a new stack segement)
+
  @item What debugging features to enable:
  @samp{debug} and @samp{decldebug} (the default is no debugging features).
  @c XXX and @samp{ssdebug} 
@@ -7209,8 +7214,11 @@
  @findex --profiling
  @findex --memory-profiling
  @findex --deep-profiling
+ at findex --trailing
  @findex --record-term-sizes-as-words
  @findex --record-term-sizes-as-cells
+ at findex --single-prec-float
+ at findex --stack-segments

  @item @samp{none}
  @code{--target c --no-gcc-global-registers --no-gcc-nonlocal-gotos --no-asm-labels}.
@@ -7290,6 +7298,9 @@
  @item @samp{.spf}
  @code{--single-prec-float}

+ at item @samp{.stseg}
+ at code{--stack-segments}
+
  @item @samp{.debug}
  @code{--debug}.



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