[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