[m-rev.] diff: bootstrapping in term size profiling grades
Zoltan Somogyi
zs at csse.unimelb.edu.au
Mon Jan 12 12:46:02 AEDT 2009
Make the compiler bootstrap again in term size profiling grades.
compiler/llds_out.m:
Don't output a stray & that introduces a C syntax error. This code
was invoked only in term size profiling grades.
library/thread.semaphore.m:
Replace the use of a C macro that isn't defined in term size profiling
grades with a macro that *is* defined.
runtime/mercury_term_size.c:
Handle the dummy type_ctor_rep added recently.
trace/mercury_trace_vars.c:
Update the code that prints the sizes of the terms bound to variables
(which is enabled only in term size profiling grades) to handle the
changes made when I added user event attributes.
tests/debugger/tailrec1.exp2:
Add a new expected output for this case that also prints the variables
added by the term size profiling transformation.
tests/debugger/term_size_words.{m,exp}:
Update this test case for the old breakup of std_util.m and the changes
in the printing of floats.
Zoltan.
cvs diff: Diffing .
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/llds_out.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/compiler/llds_out.m,v
retrieving revision 1.328
diff -u -b -r1.328 llds_out.m
--- compiler/llds_out.m 26 Nov 2008 02:53:45 -0000 1.328
+++ compiler/llds_out.m 21 Dec 2008 04:27:09 -0000
@@ -5339,7 +5339,6 @@
MaybeOffset = yes(Offset),
io.write_string("((", !IO),
output_llds_type_cast(data_ptr, !IO),
- io.write_string("&", !IO),
output_data_addr(DataAddr, !IO),
io.write_string(") + ", !IO),
io.write_int(Offset, !IO),
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
Index: library/thread.semaphore.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/library/thread.semaphore.m,v
retrieving revision 1.14
diff -u -b -r1.14 thread.semaphore.m
--- library/thread.semaphore.m 24 Oct 2007 00:50:00 -0000 1.14
+++ library/thread.semaphore.m 22 Dec 2008 00:41:37 -0000
@@ -114,7 +114,7 @@
MR_Word sem_mem;
ML_Semaphore *sem;
- MR_incr_hp(sem_mem,
+ MR_alloc_heap(sem_mem,
MR_round_up(sizeof(ML_Semaphore), sizeof(MR_Word)));
sem = (ML_Semaphore *) sem_mem;
sem->count = Count;
cvs diff: Diffing mdbcomp
cvs diff: Diffing profiler
cvs diff: Diffing robdd
cvs diff: Diffing runtime
Index: runtime/mercury_term_size.c
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/runtime/mercury_term_size.c,v
retrieving revision 1.7
diff -u -b -r1.7 mercury_term_size.c
--- runtime/mercury_term_size.c 20 Aug 2007 03:36:15 -0000 1.7
+++ runtime/mercury_term_size.c 10 Jan 2009 16:19:46 -0000
@@ -331,6 +331,15 @@
#endif
return 1;
+ case MR_TYPECTOR_REP_DUMMY:
+#ifdef MR_DEBUG_TERM_SIZES
+ if (MR_heapdebug && MR_lld_print_enabled) {
+ printf("MR_term_size: dummy %p\n",
+ (void *) term);
+ }
+#endif
+ return 0;
+
case MR_TYPECTOR_REP_VOID:
MR_fatal_error("MR_term_size: VOID");
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
cvs diff: Diffing slice
cvs diff: Diffing ssdb
cvs diff: Diffing tests
cvs diff: Diffing tests/analysis
cvs diff: Diffing tests/analysis/ctgc
cvs diff: Diffing tests/analysis/excp
cvs diff: Diffing tests/analysis/ext
cvs diff: Diffing tests/analysis/sharing
cvs diff: Diffing tests/analysis/table
cvs diff: Diffing tests/analysis/trail
cvs diff: Diffing tests/analysis/unused_args
cvs diff: Diffing tests/benchmarks
cvs diff: Diffing tests/debugger
Index: tests/debugger/tailrec1.exp2
===================================================================
RCS file: tests/debugger/tailrec1.exp2
diff -N tests/debugger/tailrec1.exp2
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tests/debugger/tailrec1.exp2 11 Jan 2009 00:29:10 -0000
@@ -0,0 +1,129 @@
+ E1: C1 CALL pred tailrec1.main/2-0 (det) tailrec1.m:17
+mdb> echo on
+Command echo enabled.
+mdb> register --quiet
+mdb> table_io allow
+mdb> table_io start
+I/O tabling started.
+mdb> context none
+Contexts will not be printed.
+mdb> break tailrec1_read_line
+ 0: + stop interface pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> continue
+ E2: C2 CALL pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> finish
+ E3: C2 EXIT pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> print *
+ Stream (arg 1) stream(0, input, text, file("tailrec1.data"))
+ Line (arg 2) "This"
+mdb> stack
+ 0 pred tailrec1.tailrec1_read_line/4-0 (det)
+ 1 pred tailrec1.tailrec1_read_strings/5-0 (det)
+ 2 pred tailrec1.main/2-0 (det)
+mdb> stack -d
+ 0 E2 C2 3 pred tailrec1.tailrec1_read_line/4-0 (det) (empty)
+ 1 E4 C3 2 pred tailrec1.tailrec1_read_strings/5-0 (det) c1;
+ 2 E1 C1 1 pred tailrec1.main/2-0 (det) c3;s2-2;c3;
+mdb> continue
+ E5: C4 CALL pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> finish
+ E6: C4 EXIT pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> stack
+ 0 pred tailrec1.tailrec1_read_line/4-0 (det)
+ 1 2x pred tailrec1.tailrec1_read_strings/5-0 (det)
+ 3 pred tailrec1.main/2-0 (det)
+mdb> stack -d
+ 0 E5 C4 4 pred tailrec1.tailrec1_read_line/4-0 (det) (empty)
+ 1 E7 C5 3 pred tailrec1.tailrec1_read_strings/5-0 (det) c1;
+ 3 E1 C1 1 pred tailrec1.main/2-0 (det) c3;s2-2;c3;
+mdb> continue
+ E8: C6 CALL pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> finish
+ E9: C6 EXIT pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> continue
+ E10: C7 CALL pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> finish
+ E11: C7 EXIT pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> step
+ E12: C8 COND pred tailrec1.tailrec1_read_strings/5-0 (det) c2;?;
+mdb> step
+ E13: C8 ELSE pred tailrec1.tailrec1_read_strings/5-0 (det) c2;e;
+mdb> step
+ E14: C9 TAIL pred tailrec1.tailrec1_read_strings/5-0 (det) c2;e;c8;
+mdb> print *
+ Stream (arg 1) stream(0, input, text, file("tailrec1.data"))
+ STATE_VARIABLE_Words_0 (arg 2) ["a", "is", "This"]
+ FinalSizeVar25 8
+ KnownSize 2
+ STATE_VARIABLE_Words_1 ["list", "a", "is", "This"]
+ SizeVar23 6
+ Word "list"
+mdb> continue
+ E15: C10 CALL pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> finish
+ E16: C10 EXIT pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> continue
+ E17: C11 CALL pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> finish
+ E18: C11 EXIT pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> print *
+ Stream (arg 1) stream(0, input, text, file("tailrec1.data"))
+ Line (arg 2) "words"
+mdb> retry -f
+ E17: C11 CALL pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> stack
+ 0 pred tailrec1.tailrec1_read_line/4-0 (det)
+ 1 6x pred tailrec1.tailrec1_read_strings/5-0 (det)
+ 7 pred tailrec1.main/2-0 (det)
+mdb> stack -d
+ 0 E17 C11 8 pred tailrec1.tailrec1_read_line/4-0 (det) (empty)
+ 1 E19 C12 7 pred tailrec1.tailrec1_read_strings/5-0 (det) c1;
+ 7 E1 C1 1 pred tailrec1.main/2-0 (det) c3;s2-2;c3;
+mdb> finish
+ E18: C11 EXIT pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> print *
+ Stream (arg 1) stream(0, input, text, file("tailrec1.data"))
+ Line (arg 2) "words"
+mdb> level 1
+Ancestor level set to 1:
+ 1 pred tailrec1.tailrec1_read_strings/5-0 (det)
+mdb> print *
+ Stream (arg 1) stream(0, input, text, file("tailrec1.data"))
+ STATE_VARIABLE_Words_0 (arg 2) ["of", "list", "a", "is", "This"]
+mdb> level 2
+The stack frame of that call has been reused.
+mdb> retry -f 3
+cannot retry a call whose stack frame has been reused
+mdb> retry -f 1
+ E19: C12 CALL pred tailrec1.tailrec1_read_strings/5-0 (det)
+mdb> stack
+ 0 6x pred tailrec1.tailrec1_read_strings/5-0 (det)
+ 6 pred tailrec1.main/2-0 (det)
+mdb> stack -d
+ 0 E19 C12 7 pred tailrec1.tailrec1_read_strings/5-0 (det) (empty)
+ 6 E1 C1 1 pred tailrec1.main/2-0 (det) c3;s2-2;c3;
+mdb> continue
+ E17: C11 CALL pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> finish
+ E18: C11 EXIT pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> continue
+ E20: C13 CALL pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> finish
+ E21: C13 EXIT pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> step
+ E22: C14 COND pred tailrec1.tailrec1_read_strings/5-0 (det) c2;?;
+mdb> next
+ E23: C14 THEN pred tailrec1.tailrec1_read_strings/5-0 (det) c2;t;
+mdb> next 3
+Due to the reuse of stack frames by tail recursive procedures,
+this command is a no-op from this port.
+mdb> delete *
+ 0: E stop interface pred tailrec1.tailrec1_read_line/4-0 (det)
+mdb> continue
+words
+of
+list
+a
+is
+This
+6
Index: tests/debugger/term_size_words.exp
===================================================================
RCS file: /home/mercury/mercury1/repository/tests/debugger/term_size_words.exp,v
retrieving revision 1.2
diff -u -b -r1.2 term_size_words.exp
--- tests/debugger/term_size_words.exp 26 Jan 2005 13:52:45 -0000 1.2
+++ tests/debugger/term_size_words.exp 11 Jan 2009 00:43:23 -0000
@@ -1,4 +1,4 @@
- E1: C1 CALL pred term_size_words.main/2-0 (det) term_size_words.m:18
+ E1: C1 CALL pred term_size_words.main/2-0 (det) term_size_words.m:23
mdb> echo on
Command echo enabled.
mdb> register --quiet
@@ -27,10 +27,10 @@
mdb> print *
IntList (arg 1) [1, 2, 3]
DoubleIntList (arg 2) [1, 2, 3, 1, 2, 3]
- FloatList (arg 3) [1.00000000000000, 2.00000000000000, 3.00000000000000]
- PairList (arg 4) [-(1, 1.00000000000000), -(2, 2.00000000000000), -(3, 3.00000000000000)]
+ FloatList (arg 3) [1.0, 2.0, 3.0]
+ PairList (arg 4) [1 - 1.0, 2 - 2.0, 3 - 3.0]
UnivList (arg 5) [univ_cons(1), univ_cons(2), univ_cons(3)]
- Univ (arg 6) univ_cons(node(node(leaf, 2, -/2, leaf), 1, -(1.00000000000000, "one"), leaf))
+ Univ (arg 6) univ_cons(node(node(leaf, 2, -/2, leaf), 1, -(1.0, "one"), leaf))
mdb> term_size *
IntList 6
DoubleIntList 12
@@ -43,7 +43,7 @@
["a", "bb", "ccc"]
node(leaf, "one", 1, node(leaf, "two", 2, leaf))
[1, 2, 3, 1, 2, 3]
-[1.00000000000000, 2.00000000000000, 3.00000000000000]
-[1 - 1.00000000000000, 2 - 2.00000000000000, 3 - 3.00000000000000]
+[1.0, 2.0, 3.0]
+[1 - 1.0, 2 - 2.0, 3 - 3.0]
[univ_cons(1), univ_cons(2), univ_cons(3)]
-univ_cons(node(node(leaf, 2, 2.00000000000000 - "two", leaf), 1, 1.00000000000000 - "one", leaf))
+univ_cons(node(node(leaf, 2, 2.0 - "two", leaf), 1, 1.0 - "one", leaf))
Index: tests/debugger/term_size_words.m
===================================================================
RCS file: /home/mercury/mercury1/repository/tests/debugger/term_size_words.m,v
retrieving revision 1.1
diff -u -b -r1.1 term_size_words.m
--- tests/debugger/term_size_words.m 20 Oct 2003 07:29:41 -0000 1.1
+++ tests/debugger/term_size_words.m 11 Jan 2009 00:39:24 -0000
@@ -1,15 +1,20 @@
+% vim: ts=4 sw=4 et ft=mercury
+
:- module term_size_words.
:- interface.
:- import_module io.
-:- pred main(io__state, io__state).
-:- mode main(di, uo) is det.
+:- pred main(io::di, io::uo) is det.
:- implementation.
-:- import_module std_util, list, int, float.
+:- import_module float.
+:- import_module int.
+:- import_module list.
+:- import_module pair.
+:- import_module univ.
:- type tree(K, V)
---> leaf
@@ -18,22 +23,22 @@
main(!IO) :-
static(IntList, StringList, Tree),
dynamic(IntList, DoubleIntList, FloatList, PairList, UnivList, Univ),
- io__write(IntList, !IO),
- io__nl(!IO),
- io__write(StringList, !IO),
- io__nl(!IO),
- io__write(Tree, !IO),
- io__nl(!IO),
- io__write(DoubleIntList, !IO),
- io__nl(!IO),
- io__write(FloatList, !IO),
- io__nl(!IO),
- io__write(PairList, !IO),
- io__nl(!IO),
- io__write(UnivList, !IO),
- io__nl(!IO),
- io__write(Univ, !IO),
- io__nl(!IO).
+ io.write(IntList, !IO),
+ io.nl(!IO),
+ io.write(StringList, !IO),
+ io.nl(!IO),
+ io.write(Tree, !IO),
+ io.nl(!IO),
+ io.write(DoubleIntList, !IO),
+ io.nl(!IO),
+ io.write(FloatList, !IO),
+ io.nl(!IO),
+ io.write(PairList, !IO),
+ io.nl(!IO),
+ io.write(UnivList, !IO),
+ io.nl(!IO),
+ io.write(Univ, !IO),
+ io.nl(!IO).
% Return some static terms.
@@ -51,10 +56,10 @@
list(pair(int, float))::out, list(univ)::out, univ::out) is det.
dynamic(IntList, DoubleIntList, FloatList, PairList, UnivList, Univ) :-
- list__append(IntList, IntList, DoubleIntList),
- FloatList = list__map(float, IntList),
- PairList = list__map(pair_float, IntList),
- UnivList = list__map(convert_type_to_univ, IntList),
+ list.append(IntList, IntList, DoubleIntList),
+ FloatList = list.map(float, IntList),
+ PairList = list.map(pair_float, IntList),
+ UnivList = list.map(convert_type_to_univ, IntList),
Univ = convert_type_to_univ(
node(node(leaf, 2, 2.0 - "two", leaf), 1, 1.0 - "one", leaf)).
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/stm
cvs diff: Diffing tests/stm/orig
cvs diff: Diffing tests/stm/orig/stm-compiler
cvs diff: Diffing tests/stm/orig/stm-compiler/test1
cvs diff: Diffing tests/stm/orig/stm-compiler/test10
cvs diff: Diffing tests/stm/orig/stm-compiler/test2
cvs diff: Diffing tests/stm/orig/stm-compiler/test3
cvs diff: Diffing tests/stm/orig/stm-compiler/test4
cvs diff: Diffing tests/stm/orig/stm-compiler/test5
cvs diff: Diffing tests/stm/orig/stm-compiler/test6
cvs diff: Diffing tests/stm/orig/stm-compiler/test7
cvs diff: Diffing tests/stm/orig/stm-compiler/test8
cvs diff: Diffing tests/stm/orig/stm-compiler/test9
cvs diff: Diffing tests/stm/orig/stm-compiler-par
cvs diff: Diffing tests/stm/orig/stm-compiler-par/bm1
cvs diff: Diffing tests/stm/orig/stm-compiler-par/bm2
cvs diff: Diffing tests/stm/orig/stm-compiler-par/stmqueue
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test1
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test10
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test11
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test2
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test3
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test4
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test5
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test6
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test7
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test8
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test9
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast/test1
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast/test2
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast/test3
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast/test4
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast/test5
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast/test6
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast/test7
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast/test8
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast/test9
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
Index: trace/mercury_trace_vars.c
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/trace/mercury_trace_vars.c,v
retrieving revision 1.82
diff -u -b -r1.82 mercury_trace_vars.c
--- trace/mercury_trace_vars.c 5 Dec 2008 07:18:07 -0000 1.82
+++ trace/mercury_trace_vars.c 21 Dec 2008 14:00:01 -0000
@@ -1524,13 +1524,15 @@
do {
fprintf(out, "%20s: %6u\n",
- MR_point.MR_point_vars[var_num].MR_var_fullname,
+ MR_point.MR_point_vars[var_num].MR_value_var.MR_var_fullname,
MR_term_size(MR_point.MR_point_vars[var_num].MR_value_type,
MR_point.MR_point_vars[var_num].MR_value_value));
var_num++;
} while (var_num < MR_point.MR_point_var_count &&
+ MR_point.MR_point_vars[var_num].MR_value_kind
+ == MR_VALUE_PROG_VAR &&
MR_streq(var_spec.MR_var_spec_name,
- MR_point.MR_point_vars[var_num].MR_var_fullname));
+ MR_point.MR_point_vars[var_num].MR_value_var.MR_var_fullname));
} else {
fprintf(out, "%20s: %6u\n", name, type_info, value);
}
@@ -1554,11 +1556,14 @@
}
for (var_num = 0; var_num < MR_point.MR_point_var_count; var_num++) {
+ if (MR_point.MR_point_vars[var_num].MR_value_kind == MR_VALUE_PROG_VAR)
+ {
fprintf(out, "%-20s %6u\n",
- MR_point.MR_point_vars[var_num].MR_var_fullname,
+ MR_point.MR_point_vars[var_num].MR_value_var.MR_var_fullname,
MR_term_size(MR_point.MR_point_vars[var_num].MR_value_type,
MR_point.MR_point_vars[var_num].MR_value_value));
}
+ }
return NULL;
#endif
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