PERFORCE change 40596 for review
Peter Wemm
peter at FreeBSD.org
Sun Oct 26 17:37:30 PST 2003
http://perforce.freebsd.org/chv.cgi?CH=40596
Change 40596 by peter at peter_daintree on 2003/10/26 17:36:35
It seems that its just the QuickSort that blows things up.
Fall back to the InsertionSort only rather than doing no sorting
at all. I think this is behind the mismatched exception lists.
Affected files ...
.. //depot/projects/ezm3/language/modula3/m3compiler/m3linker/src/MxGen.m3#3 edit
.. //depot/projects/ezm3/language/modula3/m3compiler/m3linker/src/MxGenRep.m3#3 edit
.. //depot/projects/ezm3/libs/libm3/src/sort/ArraySort.mg#2 edit
Differences ...
==== //depot/projects/ezm3/language/modula3/m3compiler/m3linker/src/MxGen.m3#3 (text+ko) ====
@@ -8,7 +8,7 @@
MODULE MxGen;
-IMPORT Wr, Fmt, Thread, IntRefTbl, Stdio (*, IntArraySort *);
+IMPORT Wr, Fmt, Thread, IntRefTbl, Stdio, IntArraySort;
IMPORT Mx, MxRep, MxMap, M3ID, M3RT, Target;
<*FATAL Wr.Failure, Thread.Alerted*>
@@ -311,7 +311,7 @@
units := NEW (REF ARRAY OF UnitInfo, n_units);
map := NEW (REF ARRAY OF INTEGER, n_units);
-(*
+
PROCEDURE CmpUnit (a, b: INTEGER): [-1..1] =
VAR ax := units[a].unit.name; bx := units[b].unit.name;
BEGIN
@@ -320,7 +320,7 @@
ELSE RETURN +1;
END;
END CmpUnit;
-*)
+
BEGIN
ui := all_ui;
@@ -332,7 +332,7 @@
END;
<*ASSERT cnt = n_units*>
- (* IntArraySort.Sort (map^, CmpUnit); *)
+ IntArraySort.Sort (map^, CmpUnit);
(* rebuild the linked list *)
ui := NIL;
==== //depot/projects/ezm3/language/modula3/m3compiler/m3linker/src/MxGenRep.m3#3 (text+ko) ====
@@ -10,7 +10,7 @@
(* Modified On Fri Jul 2 19:33:09 PDT 1993 By muller *)
MODULE MxGenRep;
-IMPORT IntRefTbl, Wr, (* IntArraySort,*) Fmt, Thread;
+IMPORT IntRefTbl, Wr, IntArraySort, Fmt, Thread;
IMPORT Mx, MxRep, M3ID, MxMap;
<* FATAL Thread.Alerted, Wr.Failure *>
@@ -109,7 +109,6 @@
units := NEW (REF ARRAY OF UnitInfo, n_units);
map := NEW (REF ARRAY OF INTEGER, n_units);
-(*
PROCEDURE CmpUnit (a, b: INTEGER): [-1..1] =
VAR ax := units[a].unit.name; bx := units[b].unit.name;
BEGIN
@@ -118,7 +117,6 @@
ELSE RETURN +1;
END;
END CmpUnit;
-*)
BEGIN
ui := all_ui;
@@ -130,7 +128,7 @@
END;
<*ASSERT cnt = n_units*>
- (*IntArraySort.Sort (map^, CmpUnit); *)
+ IntArraySort.Sort (map^, CmpUnit);
(* rebuild the linked list *)
ui := NIL;
==== //depot/projects/ezm3/libs/libm3/src/sort/ArraySort.mg#2 (text+ko) ====
@@ -9,7 +9,7 @@
PROCEDURE Sort (VAR a: ARRAY OF Elem.T; cmp := Elem.Compare) =
BEGIN
- QuickSort (a, 0, NUMBER (a), cmp);
+ (* QuickSort (a, 0, NUMBER (a), cmp); *)
InsertionSort (a, 0, NUMBER (a), cmp);
END Sort;
More information about the p4-projects
mailing list