[m-rev.] diff: remembering ground terms' MLDS types
Zoltan Somogyi
zs at csse.unimelb.edu.au
Tue Sep 8 12:48:42 AEST 2009
compiler/ml_unify_gen.m:
When remembering ground terms, remember the MLDS type as well as the
Mercury type, since otherwise, it would have to computed again when the
ground term is used. This yields a speedup of 1.3% when compiling
training_cars_full.m, and a speedup of 0.3% on tool/speedtest -h.
compiler/ml_global_data.m:
Change the type used for this recording.
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/ml_code_util.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/compiler/ml_code_util.m,v
retrieving revision 1.141
diff -u -b -r1.141 ml_code_util.m
--- compiler/ml_code_util.m 3 Sep 2009 23:57:26 -0000 1.141
+++ compiler/ml_code_util.m 4 Sep 2009 18:55:17 -0000
@@ -281,6 +281,7 @@
:- func ml_gen_public_field_decl_flags = mlds_decl_flags.
% Apply the usual %s_%d formatting to a MLDS variable name.
+ %
:- func ml_var_name_to_string(mlds_var_name) = string.
%-----------------------------------------------------------------------------%
@@ -639,7 +640,12 @@
% The type of the ground term (actually, the type of the
% variable the ground term was constructed for).
- mer_type
+ mer_type,
+
+ % The corresponding MLDS type. It could be computed from the
+ % Mercury type, but there is no point in doing so when using
+ % the ground term as well when constructing it.
+ mlds_type
).
:- type ml_ground_term_map == map(prog_var, ml_ground_term).
Index: compiler/ml_unify_gen.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/compiler/ml_unify_gen.m,v
retrieving revision 1.137
diff -u -b -r1.137 ml_unify_gen.m
--- compiler/ml_unify_gen.m 4 Sep 2009 02:27:52 -0000 1.137
+++ compiler/ml_unify_gen.m 4 Sep 2009 20:05:55 -0000
@@ -294,15 +294,15 @@
ml_gen_var(!.Info, Var, VarLval),
ml_gen_info_get_module_info(!.Info, ModuleInfo),
( ml_gen_info_search_const_var(!.Info, ArgVar, ArgGroundTerm) ->
- ArgGroundTerm = ml_ground_term(ArgRval, ArgType),
- MLDS_ArgType = mercury_type_to_mlds_type(ModuleInfo, ArgType),
+ ArgGroundTerm = ml_ground_term(ArgRval, _ArgType,
+ MLDS_ArgType),
ml_gen_info_get_global_data(!.Info, GlobalData0),
ml_gen_box_const_rval(ModuleInfo, MLDS_ArgType,
ArgRval, Context, Rval0, GlobalData0, GlobalData),
ml_gen_info_set_global_data(GlobalData, !Info),
MLDS_Type = mercury_type_to_mlds_type(ModuleInfo, Type),
Rval = ml_unop(cast(MLDS_Type), Rval0),
- GroundTerm = ml_ground_term(Rval, Type),
+ GroundTerm = ml_ground_term(Rval, Type, MLDS_Type),
ml_gen_info_set_const_var(Var, GroundTerm, !Info)
;
ml_gen_var(!.Info, ArgVar, ArgVarLval),
@@ -356,7 +356,9 @@
Args = [],
ml_gen_var(!.Info, Var, VarLval),
ml_gen_constant(Tag, Type, Rval, !Info),
- GroundTerm = ml_ground_term(Rval, Type),
+ ml_gen_info_get_module_info(!.Info, ModuleInfo),
+ MLDS_Type = mercury_type_to_mlds_type(ModuleInfo, Type),
+ GroundTerm = ml_ground_term(Rval, Type, MLDS_Type),
ml_gen_info_set_const_var(Var, GroundTerm, !Info),
Statement = ml_gen_assign(VarLval, Rval, Context),
Statements = [Statement]
@@ -366,20 +368,12 @@
)
).
-:- pred ml_gen_static_const_arg_list(ml_gen_info::in,
- list(prog_var)::in, list(mlds_rval)::out) is det.
-
-ml_gen_static_const_arg_list(_, [], []).
-ml_gen_static_const_arg_list(Info, [Var | Vars], [Rval | Rvals]) :-
- ml_gen_static_const_arg(Info, Var, Rval),
- ml_gen_static_const_arg_list(Info, Vars, Rvals).
+:- pred ml_gen_info_lookup_const_var_rval(ml_gen_info::in, prog_var::in,
+ mlds_rval::out) is det.
-:- pred ml_gen_static_const_arg(ml_gen_info::in, prog_var::in, mlds_rval::out)
- is det.
-
-ml_gen_static_const_arg(Info, Var, Rval) :-
+ml_gen_info_lookup_const_var_rval(Info, Var, Rval) :-
ml_gen_info_lookup_const_var(Info, Var, GroundTerm),
- GroundTerm = ml_ground_term(Rval, _Type).
+ GroundTerm = ml_ground_term(Rval, _, _).
% Generate the rval for a given constant.
%
@@ -464,8 +458,7 @@
ml_gen_constant(ThisTag, VarType, Rval, !Info)
;
% These tags, which are not (necessarily) constants, are handled
- % in ml_gen_construct and ml_gen_static_const_arg,
- % so we don't need to handle them here.
+ % in ml_gen_construct, so we don't need to handle them here.
(
Tag = no_tag,
unexpected(this_file, "ml_gen_constant: no_tag")
@@ -720,9 +713,6 @@
some [!GlobalData] (
% Generate rvals for the arguments.
- list.map(ml_gen_type(!.Info), ArgTypes, MLDS_ArgTypes0),
- ml_gen_static_const_arg_list(!.Info, ArgVars, ArgRvals0),
-
ml_gen_info_get_global_data(!.Info, !:GlobalData),
% Box or unbox the arguments, if needed, and insert the extra rvals
@@ -730,12 +720,17 @@
(
HighLevelData = no,
% Box *all* the arguments, including the ExtraRvals.
- ArgRvals1 = ExtraRvals ++ ArgRvals0,
- MLDS_ArgTypes = ExtraTypes ++ MLDS_ArgTypes0,
- ml_gen_box_const_rval_list(ModuleInfo, MLDS_ArgTypes, ArgRvals1,
- Context, ArgRvals, !GlobalData)
+ list.map(ml_gen_info_lookup_const_var(!.Info), ArgVars,
+ ArgGroundTerms),
+ ml_gen_box_extra_const_rval_list(ModuleInfo,
+ ExtraTypes, ExtraRvals, Context, ExtraArgRvals, !GlobalData),
+ ml_gen_box_const_rval_list(ModuleInfo, ArgGroundTerms,
+ Context, ArgRvals1, !GlobalData),
+ ArgRvals = ExtraArgRvals ++ ArgRvals1
;
HighLevelData = yes,
+ list.map(ml_gen_info_lookup_const_var_rval(!.Info), ArgVars,
+ ArgRvals0),
list.map(ml_type_as_field(ModuleInfo, HighLevelData),
ConsArgTypes, FieldTypes),
ml_gen_box_or_unbox_const_rval_list(ModuleInfo, ArgTypes,
@@ -793,7 +788,7 @@
TaggedRval = ml_mkword(Tag, ConstAddrRval)
),
Rval = ml_unop(cast(MLDS_Type), TaggedRval),
- GroundTerm = ml_ground_term(Rval, VarType),
+ GroundTerm = ml_ground_term(Rval, VarType, MLDS_Type),
ml_gen_info_set_const_var(Var, GroundTerm, !Info),
AssignStatement = ml_gen_assign(VarLval, Rval, Context),
@@ -1149,21 +1144,34 @@
native_if_possible, ArgRval, FieldRval)
).
-:- pred ml_gen_box_const_rval_list(module_info::in, list(mlds_type)::in,
+:- pred ml_gen_box_const_rval_list(module_info::in, list(ml_ground_term)::in,
+ prog_context::in, list(mlds_rval)::out,
+ ml_global_data::in, ml_global_data::out) is det.
+
+ml_gen_box_const_rval_list(_, [], _, [], !GlobalData).
+ml_gen_box_const_rval_list(ModuleInfo, [GroundTerm | GroundTerms],
+ Context, [BoxedRval | BoxedRvals], !GlobalData) :-
+ GroundTerm = ml_ground_term(Rval, _MercuryType, Type),
+ ml_gen_box_const_rval(ModuleInfo, Type, Rval,
+ Context, BoxedRval, !GlobalData),
+ ml_gen_box_const_rval_list(ModuleInfo, GroundTerms,
+ Context, BoxedRvals, !GlobalData).
+
+:- pred ml_gen_box_extra_const_rval_list(module_info::in, list(mlds_type)::in,
list(mlds_rval)::in, prog_context::in, list(mlds_rval)::out,
ml_global_data::in, ml_global_data::out) is det.
-ml_gen_box_const_rval_list(_, [], [], _, [], !GlobalData).
-ml_gen_box_const_rval_list(ModuleInfo, [Type | Types], [Rval | Rvals], Context,
- [BoxedRval | BoxedRvals], !GlobalData) :-
- ml_gen_box_const_rval(ModuleInfo, Type, Rval, Context, BoxedRval,
- !GlobalData),
- ml_gen_box_const_rval_list(ModuleInfo, Types, Rvals, Context, BoxedRvals,
- !GlobalData).
-ml_gen_box_const_rval_list(_, [], [_ | _], _, _, !GlobalData) :-
- unexpected(this_file, "ml_gen_box_const_rval_list: length mismatch").
-ml_gen_box_const_rval_list(_, [_ | _], [], _, _, !GlobalData) :-
- unexpected(this_file, "ml_gen_box_const_rval_list: length mismatch").
+ml_gen_box_extra_const_rval_list(_, [], [], _, [], !GlobalData).
+ml_gen_box_extra_const_rval_list(ModuleInfo, [Type | Types], [Rval | Rvals],
+ Context, [BoxedRval | BoxedRvals], !GlobalData) :-
+ ml_gen_box_const_rval(ModuleInfo, Type, Rval,
+ Context, BoxedRval, !GlobalData),
+ ml_gen_box_extra_const_rval_list(ModuleInfo, Types, Rvals,
+ Context, BoxedRvals, !GlobalData).
+ml_gen_box_extra_const_rval_list(_, [], [_ | _], _, _, !GlobalData) :-
+ unexpected(this_file, "ml_gen_box_extra_const_rval_list: length mismatch").
+ml_gen_box_extra_const_rval_list(_, [_ | _], [], _, _, !GlobalData) :-
+ unexpected(this_file, "ml_gen_box_extra_const_rval_list: length mismatch").
:- pred ml_gen_box_const_rval(module_info::in, mlds_type::in, mlds_rval::in,
prog_context::in, mlds_rval::out,
@@ -2022,7 +2030,7 @@
ml_gen_info_set_const_var(TermVar, TermVarGroundTerm, !Info),
ml_gen_var(!.Info, TermVar, TermVarLval),
- TermVarGroundTerm = ml_ground_term(TermVarRval, _),
+ TermVarGroundTerm = ml_ground_term(TermVarRval, _, _),
Context = goal_info_get_context(GoalInfo),
Statement = ml_gen_assign(TermVarLval, TermVarRval, Context),
Statements = [Statement]
@@ -2115,7 +2123,7 @@
),
expect(unify(Args, []), this_file,
"ml_gen_ground_term_conjunct_tag: constant tag with args"),
- ConstGroundTerm = ml_ground_term(ConstRval, VarType),
+ ConstGroundTerm = ml_ground_term(ConstRval, VarType, MLDS_Type),
svmap.det_insert(Var, ConstGroundTerm, !GroundTermMap)
;
( ConsTag = type_ctor_info_tag(_, _, _)
@@ -2138,12 +2146,11 @@
(
Args = [Arg],
svmap.det_remove(Arg, ArgGroundTerm, !GroundTermMap),
- ArgGroundTerm = ml_ground_term(ArgRval, ArgType),
- MLDS_ArgType = mercury_type_to_mlds_type(ModuleInfo, ArgType),
+ ArgGroundTerm = ml_ground_term(ArgRval, _ArgType, MLDS_ArgType),
ml_gen_box_const_rval(ModuleInfo, MLDS_ArgType,
ArgRval, Context, Rval0, !GlobalData),
Rval = ml_unop(cast(MLDS_Type), Rval0),
- GroundTerm = ml_ground_term(Rval, VarType),
+ GroundTerm = ml_ground_term(Rval, VarType, MLDS_Type),
svmap.det_insert(Var, GroundTerm, !GroundTermMap)
;
( Args = []
@@ -2282,7 +2289,7 @@
TaggedRval = ml_mkword(Ptag, ConstAddrRval)
),
Rval = ml_unop(cast(MLDS_Type), TaggedRval),
- GroundTerm = ml_ground_term(Rval, VarType),
+ GroundTerm = ml_ground_term(Rval, VarType, MLDS_Type),
svmap.det_insert(Var, GroundTerm, !GroundTermMap).
%-----------------------------------------------------------------------------%
@@ -2329,7 +2336,7 @@
construct_ground_term_initializer_hld(ModuleInfo, Context,
Arg - ConsArgType, ArgInitializer, !GlobalData, !GroundTermMap) :-
svmap.det_remove(Arg, ArgGroundTerm, !GroundTermMap),
- ArgGroundTerm = ml_ground_term(ArgRval0, ArgType),
+ ArgGroundTerm = ml_ground_term(ArgRval0, ArgType, _MLDS_ArgType),
ml_type_as_field(ModuleInfo, yes, ConsArgType, BoxedArgType),
ml_gen_box_or_unbox_const_rval(ModuleInfo, ArgType, BoxedArgType,
ArgRval0, Context, ArgRval, !GlobalData),
@@ -2343,8 +2350,7 @@
construct_ground_term_initializer_lld(ModuleInfo, Context,
Arg - _ConsArgType, ArgInitializer, !GlobalData, !GroundTermMap) :-
svmap.det_remove(Arg, ArgGroundTerm, !GroundTermMap),
- ArgGroundTerm = ml_ground_term(ArgRval0, ArgType),
- MLDS_ArgType = mercury_type_to_mlds_type(ModuleInfo, ArgType),
+ ArgGroundTerm = ml_ground_term(ArgRval0, _ArgType, MLDS_ArgType),
ml_gen_box_const_rval(ModuleInfo, MLDS_ArgType,
ArgRval0, Context, ArgRval, !GlobalData),
ArgInitializer = init_obj(ArgRval).
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
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
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
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