Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/HISTORY
ViewVC logotype

Diff of /sml/trunk/HISTORY

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1181, Wed Mar 27 21:27:27 2002 UTC revision 1203, Sat May 18 18:21:53 2002 UTC
# Line 13  Line 13 
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    Name: Allen Leung
17    Date: 2002/05/18 14:20:00 EDT
18    Tag: leunga-20020518-mdl
19    Description:
20    
21    o Made the mdl tool stuff compile and run again.
22    o I've disabled all the stuff that depends on RTL specifications; they
23      are all badly broken anyway.
24    
25    ----------------------------------------------------------------------
26    Name: Matthias Blume
27    Date: 2002/05/17 16:49:00 EDT
28    Tag: blume-20020517-controls
29    Description:
30    
31    0. John Reppy made several modifications to the SML/NJ library.
32       In particular, there is a shiny new controls-lib.cm.
33    
34    1. Pushed new controls interface through compiler so that everything
35       compiles again.
36    
37    2. Added FormatComb and FORMAT_COMB to the CML version of the
38       SML/NJ library (so that CML compiles again).
39    
40    3. Modified init scripts because XXX_DEFAULT environment variables
41       are no longer with us.  (Boot-time initialization is now done
42       using the same environment variables that are also used for
43       startup-time initialization of controls.)
44    
45    ----------------------------------------------------------------------
46    Name: Lal George
47    Date: 2002/05/15 09:20:10 EDT
48    Tag: george-20020515-pseudo-op-decls
49    Description:
50    
51            All pseudo-ops emitted before the first segment declaration
52    such as TEXT, DATA, and BSS directives are assumed to be global
53    declarations and are emitted first in the assembly file. This is
54    useful in a number of situations where one has pseudo-ops that are not
55    specific to any segment, and also works around the constraint that one
56    cannot have client pseudo-ops in the TEXT segment.
57    
58            Because no segment is associated with these declarations it is
59    an error to allocate any space or objects before the first segment
60    directive and an exception will be raised. However, we cannot make
61    this check for client pseudo-ops.
62    
63            These top level declarations are a field in the CFG graph_info.
64    In theory you can continue to add to this field after the CFG has been
65    built -- provided you know what you are doing;-)
66    
67    ----------------------------------------------------------------------
68    Name: Matthias Blume
69    Date: 2002/05/13 16:40:00 EDT
70    Tag: blume-20020513-pp-etc
71    Description:
72    
73    A few minor bugfixes:
74    
75      - Stopgap measure for bug recently reported by Elsa Gunter (ppDec).
76        (Bogus printouts for redefined bindings still occur.  Compiler
77        bug should no longer occur now.  We need to redo the prettyprinter
78        from scratch.)
79    
80      - CM pathname printer now also adds escape sequences for ( and )
81    
82      - commend and docu fixes for ml-nlffi
83    
84    ----------------------------------------------------------------------
85    Name: Matthias Blume
86    Date: 2002/05/10 16:40:00 EDT
87    Tag: blume-20020510-erg-textio
88    Description:
89    
90    Applied the following bugfix provided by Emden Gansner:
91    
92        Output is corrupted when outputSubstr is used rather than output.
93    
94        The problem occurs when a substring
95    
96            ss = (s, dataStart, dataLen)
97    
98        where dataStart > 0, fills a stream buffer with avail bytes left.
99        avail bytes of s, starting at index dataStart, are copied into the
100        buffer, the buffer is flushed, and then the remaining dataLen-avail
101        bytes of ss are copied into the beginning of the buffer. Instead of
102        starting this copy at index dataStart+avail in s, the current code
103        starts the copy at index avail.
104    
105        Fix:
106        In text-io-fn.sml, change line 695 from
107             val needsFlush = copyVec(v, avail, dataLen-avail, buf, 0)
108        to
109             val needsFlush = copyVec(v, dataStart+avail, dataLen-avail, buf, 0)
110    
111    ----------------------------------------------------------------------
112    Name: Matthias Blume
113    Date: 2002/04/12 13:55:00 EDT
114    Tag: blume-20020412-assyntax
115    Description:
116    
117    1. Grabbed newer assyntax.h from the XFree86 project.
118    2. Fiddled with how to compile X86.prim.asm without warnings.
119    3. (Very) Minor cleanup in CM.
120    
121    ----------------------------------------------------------------------
122    Name: Matthias Blume
123    Date: 2002/04/01 (no joke!) 17:07:00 EST
124    Tag: blume-20020401-x86div
125    Description:
126    
127    Added full support for div/mod/rem/quot on the x86, using the machine
128    instruction's two results (without clumsily recomputing the remainder)
129    directly where appropriate.
130    
131    Some more extensive power-of-two support was added to the x86 instruction
132    selector (avoiding expensive divs, mods, and muls where they can be
133    replaced with cheaper shifts and masks).  However, this sort of thing
134    ought to be done earlier, e.g., within the CPS optimizer so that
135    all architectures benefit from it.
136    
137    The compiler compiles to a fixed point, but changes might be somewhat
138    fragile nevertheless.  Please, report any strange things that you might
139    see wrt. div/mod/quot/rem...
140    
141    ----------------------------------------------------------------------
142    Name: Matthias Blume
143    Date: 2002/03/29 17:22:00
144    Tag: blume-20020329-div
145    Description:
146    
147    Fixed my broken div/mod logic.  Unfortunately, this means that the
148    inline code for div/mod now has one more comparison than before.
149    Fast paths (quotient > 0 or remainder = 0) are not affected, though.
150    The problem was with quotient = 0, because that alone does not tell
151    us which way the rounding went.  One then has to look at whether
152    remainder and divisor have the same sign...  :(
153    
154    Anyway, I replaced the bootfiles with fresh ones...
155    
156    ----------------------------------------------------------------------
157    Name: Matthias Blume
158    Date: 2002/03/29 14:10:00 EST
159    Tag: blume-20020329-inlprims
160    Description:
161    
162    NEW BOOTFILES!!!    Version number bumped to 110.39.3.
163    
164    Primops have changed. This means that the bin/boot-file formats have
165    changed as well.
166    
167    To make sure that there is no confusion, I made a new version.
168    
169    
170    CHANGES:
171    
172    * removed REMT from mltree (remainder should never overflow).
173    
174    * added primops to deal with divisions of all flavors to the frontend
175    
176    * handled these primops all the way through so they map to their respective
177      MLRISC support
178    
179    * used these primops in the implementation of Int, Int32, Word, Word32
180    
181    * removed INLDIV, INLMOD, and INLREM as they are no longer necessary
182    
183    * parameterized INLMIN, INLMAX, and INLABS by a numkind
184    
185    * translate.sml now deals with all flavors of INL{MIN,MAX,ABS}, including
186      floating point
187    
188    * used INL{MIN,MAX,ABS} in the implementation of Int, Int32, Word, Word32,
189      and Real (but Real.abs maps to a separate floating-point-only primop)
190    
191    
192    TODO items:
193    
194    * Hacked Alpha32 instruction selection, disabling the selection of REMx
195      instructions because the machine instruction encoder cannot handle
196      them.  (Hppa, PPC, and Sparc instruction selection did not handle
197      REM in the first place, and REM is supported by the x86 machine coder.)
198    
199    * Handle DIV and MOD with DIV_TO_NEGINF directly in the x86 instruction
200      selection phase.  (The two can be streamlined because the hardware
201      delivers both quotient and remainder at the same time anyway.)
202    
203    * Think about what to do with "valOf(Int32.minInt) div ~1" and friends.
204      (Currently the behavior is inconsistent both across architectures and
205      wrt. the draft Basis spec.)
206    
207    * Word8 should eventually be handled natively, too.
208    
209    * There seems to be one serious bug in mltree-gen.sml.  It appears, though,
210      as if there currently is no execution path that could trigger it in
211      SML/NJ.  (The assumptions underlying functions arith and promotable do not
212      hold for things like multiplication and division.)
213    
214    ----------------------------------------------------------------------
215  Name: Matthias Blume  Name: Matthias Blume
216  Date: 2002/03/27 16:27:00 EST  Date: 2002/03/27 16:27:00 EST
217  Tag: blume-20020327-mlrisc-divisions  Tag: blume-20020327-mlrisc-divisions

Legend:
Removed from v.1181  
changed lines
  Added in v.1203

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0