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 721, Mon Nov 6 14:03:39 2000 UTC revision 772, Thu Jan 4 15:36:41 2001 UTC
# Line 11  Line 11 
11  Date:  Date:
12  Tag: <post-commit CVS tag>  Tag: <post-commit CVS tag>
13  Description:  Description:
14    ----------------------------------------------------------------------
15    Name: Matthias Blume
16    Date: 2001/01/05 00:30:00 JST
17    Tag: blume-20010105-primops
18    Description:
19    
20    Added some experimental support for work that I am doing right now.
21    These changes mostly concern added primops, but there is also a new
22    experimental C library in the runtime system (but currently not enabled
23    anywhere except on Linux/X86).
24    
25    In the course of adding primops (and playing with them), I discovered that
26    Zhong's INL_PRIM hack (no type info for certain primops) was, in fact, badly
27    broken.  (Zhong was very right he labeled this stuff as "major gross hack".)
28    To recover, I made type information in INL_PRIM mandatory and changed
29    prim.sml as well as built-in.sml accordingly.  The InLine structure now
30    has complete, correct type information (i.e., no bottom types).
31    
32    Since all these changes mean that we need new binfiles, I also bumped the
33    version number to 110.32.1.
34    
35    ----------------------------------------------------------------------
36    Name: Matthias Blume
37    Date: 2000/12/30 22:10:00 JST
38    Tag: blume-20001230-various
39    Description:
40    
41    Added proxy libraries for MLRISC and let MLRISC libraries refer
42    to each other using path anchors.  (See CM manual for explanation.)
43    
44    Updated CM documentation.
45    
46    Fixed some bugs in CM.
47    
48    Implemented "proxy" libraries (= syntactic sugar for CM).
49    
50    Added "-quiet" option to makeml and changed runtime system accordingly.
51    
52    Added cleanup handler for exportML to reset timers and compiler stats.
53    
54    ----------------------------------------------------------------------
55    Name: Lal George
56    Date: 2000/12/22 22:22:58 EST 2000
57    Tag: Release_110_32
58    Description:
59    
60            Infinite precision used throughout MLRISC.
61            see MLRISC/mltree/machine-int.sig
62    
63    ----------------------------------------------------------------------
64    Name: Matthias Blume
65    Date: 2000/12/22 23:16:00 JST
66    Tag: blume-20001222-warn
67    Description:
68    
69    Corrected wording and formatting of some CM warning message which I
70    broke in my previous patch.
71    
72    ----------------------------------------------------------------------
73    Name: Matthias Blume
74    Date: 2000/12/22 21:20:00 JST
75    Tag: blume-20001222-anchorenv
76    Description:
77    
78    Fixed CM's handling of anchor environments in connection with CMB.make.
79    
80    ----------------------------------------------------------------------
81    Name: Matthias Blume
82    Date: 2000/12/22 13:15:00 JST
83    Tag: blume-20001222-cleanup
84    Description:
85    
86    Removed src/cm/ffi which does not (and did not) belong here.
87    
88    ----------------------------------------------------------------------
89    Name: Matthias Blume
90    Date: 2000/12/21 23:55:00 JST
91    Tag: blume-20001221-exn
92    Description:
93    
94    Probably most important: CM no longer silently swallows all exceptions
95    in the compiler.
96    Plus: some other minor CM changes.  For example, CM now reports some
97    sizes for generated binfiles (code, data, envpickle, lambdapickle).
98    
99    ----------------------------------------------------------------------
100    Name: Matthias Blume
101    Date: 2000/12/15 00:01:05 JST
102    Tag: blume-20001215-dirtool
103    Description:
104    
105    - "dir" tool added.
106    - improvements and cleanup to Tools structure
107    - documentation updates
108    
109    ----------------------------------------------------------------------
110    Name: Allen Leung
111    Date: Thu Dec 14 03:45:24 EST 2000
112    Description:
113    Tag:  leunga-20001214-int-inf
114    Description:
115    
116       In IntInf, added these standard functions, which are missing from our
117    implementation:
118    
119        andb : int * int -> int
120        xorb : int * int -> int
121        orb  : int * int -> int
122        notb : int -> int
123         <<   : int * word -> int
124        ~>>  : int * word -> int
125    
126       Not tested, I hope they are correct.
127    
128    ----------------------------------------------------------------------
129    Name: Allen Leung
130    Date: Fri Dec  8 19:23:26 EST 2000
131    Description:
132    Tag:  leunga-20001208-nowhere
133    Description:
134    
135      Slight improvements to the 'nowhere' tool to handle OR-patterns,
136    to generate better error messages etc.  Plus a brief manual.
137    
138    ----------------------------------------------------------------------
139    Name: Lal George
140    Date: 2000/12/08 09:54:02 EST 2000
141    Tag: Release_110_31
142    Description:
143    
144    - Version 110.31
145    ----------------------------------------------------------------------
146    Name: Allen Leung
147    Date: Thu Dec  7 22:01:04 EST 2000
148    Tag:  leunga-20001207-cell-monster-hack
149    Description:
150    
151    Major MLRISC internal changes.  Affect all clients.
152    Summary:
153    
154    1.  Type CELLS.cell = int is now replaced by a datatype.
155        As a result, the old regmap is now gone.  Almost all interfaces
156        in MLRISC change as a consequence.
157    
158    2.  A new brand version of machine description tool (v3.0) that generates
159        modules expecting the new interface.  The old version is removed.
160    
161    3.  The RA interface has been further abstracted into two new functors.
162        RISC_RA and X86RA.  These functors have much simpler interfaces.
163        [See also directory MLRISC/demo.]
164    
165    4.  Some other new source->source code generation tools are available:
166    
167        a. MLRISC/Tools/RewriteGen -- generate rewriters from rules.
168        b. MLRISC/Tools/WhereGen -- expands conditional pattern matching rules.
169           I use this tool to generate the peephole optimizers---with the new
170           cell type changes, peephole rules are becoming difficult to write
171           without conditional pattern matching.
172    
173    5.  More Intmap -> IntHashTable change.  Previous changes by Matthias didn't
174        cover the entire MLRISC source tree so many things broke.
175    
176    6.  CM files have been moved to the subdirectory MLRISC/cm.
177        They are moved because there are a lot of them and they clutter up the
178        root dir.
179    
180    7.  More detailed documentation to come...
181    
182        NOTE: To rebuild from 110.30 (ftp distribution), you'll have to do
183        a makeml -rebuild first.  This is because of other other
184        changes that Matthias has made (see below).
185    
186    
187    ----------------------------------------------------------------------
188    Name: Matthias Blume
189    Date: 2000/11/30 23:12:00 JST
190    Tag: blume-20001130-filereorg
191    Description:
192    
193    Some manual updates and some file reorganizations in CM.
194    
195    ----------------------------------------------------------------------
196    Name: Matthias Blume
197    Date: 2000/11/24 17:45:00 JST
198    Tag: blume-20001124-link
199    Description:
200    
201    Drastically improved link traversal code for the case that the dynamic
202    value was already loaded at bootstrap time.  As a result, CM and CMB
203    now both load blazingly fast -- even on a very slow machine.  Also,
204    memory consumption has been further reduced by this.
205    
206    Warning: The format of the PIDMAP file has changed.  THerefore, to
207    bootstrap you have to do this:
208    
209    1. Run CMB.make
210    2. Make a symbolic link for the boot directory:
211         ln -s sml.boot.ARCH-OS xxx
212    3. "Rebuild" the boot directory:
213         ./makeml -boot xxx -rebuild sml ; rm xxx
214    4. Boot normally:
215          ./makeml
216    
217    ----------------------------------------------------------------------
218    Name: Matthias Blume
219    Date: 2000/11/21 21:20:00 JST
220    Tag: blume-20001121-tools
221    Description:
222    
223    Continued hacking on autoloading problem -- with success this time.
224    Also changed tool-plugin mechanism.  See new CM manual.
225    
226    ----------------------------------------------------------------------
227    Name: Matthias Blume
228    Date: 2000/11/19 14:30:00 JST
229    Tag:  blume-20001119-autoload
230    Description:
231    
232    Some hacking to make autoloading faster.  Success for CMB, no success
233    so far for CM.  There is a reduced structure CM' that autoloads faster.
234    (This is a temporary, non-documented hack to be eliminated again when
235    the general problem is solved.)
236    
237    ----------------------------------------------------------------------
238    Name: Matthias Blume
239    Date: 2000/11/17 14:10:00 JST
240    Tag: blume-20001117-pickle-lib
241    Description:
242    
243    1. Eliminated comp-lib.cm
244    2. Made pickle-lib.cm
245    3. Eliminated all uses of intset.sml (from comp-lib.cm)
246    4. Replaced all uses of intmap.{sig,sml} (from comp-lib.cm) with
247       equivalent constructs from smlnj-lib.cm (INtHashTable).
248    5. Point 4. also goes for those uses of intmap.* in MLRISC.
249       Duplicated intmap modules thrown out.
250    6. Hunted down all duplicated SCC code and replaced it with
251       equivalent stuff (GraphSCCFn from smlnj-lib.cm).
252    7. Rewrote Feedback module.
253    8. Moved sortedlist.sml into viscomp-lib.cm.  Eventually it
254       should be thrown out and equivalent modules from smlnj-lib.cm
255       should be used (IntRedBlackSet, IntListSet, ...).
256    
257    Confirmed that compiler compiles to fixpoint.
258    
259    ----------------------------------------------------------------------
260    Name: Allen Leung
261    Date: 2000/11/10 18:00:00
262    Tag: leunga-20001110-new-x86-fp
263    
264    A new x86 floating point code generator has been added.
265    By default this is turned off.  To turn this on, do:
266    
267        CM.autoload "$smlnj/compiler.cm";
268        Compiler.Control.MLRISC.getFlag "x86-fast-fp" := true;
269    
270    Changes:
271    
272    1.  Changed FTAN to FPTAN so that the assembly output is correct.
273    2.  Changed the extension callback for FTANGENT to generate:
274    
275              fptan
276              fstp  %st(0)
277        instead of
278              fptan
279              fstpl ftempmem
280    
281    3.  Numerous assembly fixes for x86.
282    
283    5.  Cleaned up the machine code output module x86/x86MC.sml and added
284        support for a whole bunch of instructions and addressing modes:
285    
286          fadd/fsub/fsubr/fmul/fdiv/fdivr  %st, %st(n)
287          faddp/fsubp/fsubrp/fmulp/fdivp/fdivrp  %st, %st(n)
288          fadd/fsub/fsubr/fmul/fdiv/fdivr  %st(n), %st
289          fiadd/fisub/fisubr/fimul/fidiv/fidivr mem
290          fxch %st(n)
291          fld %st(n)
292          fst %st(n)
293          fst mem
294          fstp %st(n)
295          fucom %st(n)
296          fucomp %st(n)
297    
298        All these are now generated when the fast fp mode is turned on.
299    
300    6.  Removed the dedicated registers %st(0), ..., %st(7) from X86CpsRegs
301    
302    ----------------------------------------------------------------------
303    Name: Matthias Blume
304    Date: 2000/11/09 11:20:00 JST
305    Tag: blume-20001109-scc
306    Description:
307    
308    Eliminated some code duplication:
309    
310    1. Added "where" clause to GraphSCCFn in SML/NJ Library.
311       (Otherwise the functor is useless.)
312    2. Used GraphSCCFn where SCCUtilFun was used previously.
313    3. Got rid of SCCUtilFun (in comp-lib.cm).
314    
315  ----------------------------------------------------------------------  ----------------------------------------------------------------------
316  Name: Lal George  Name: Lal George

Legend:
Removed from v.721  
changed lines
  Added in v.772

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