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 715, Thu Nov 2 07:51:04 2000 UTC revision 778, Fri Jan 12 14:06:33 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/12 23:30:00 JST
17    Tag: blume-20010112-bootfiles
18    Description:
19    
20    Made a new set of bootfiles that goes with the current state of the
21    repository.
22    
23    ----------------------------------------------------------------------
24    Name: Matthias Blume
25    Date: 2001/01/12 21:20:00 JST
26    Tag: blume-20010112-sync
27    Description:
28    
29    I am just flushing out some minor changes that had accumulated in
30    my private branch in order to sync with the main tree.  (This is
31    mainly because I had CVS trouble when trying to merge _into_ my
32    private branch.)
33    
34    Most people should be completely unaffected by this.
35    
36    ----------------------------------------------------------------------
37    Name: Allen Leung
38    Date: Thu Jan 11 21:03:00 EST 2001
39    Tag: leunga-20010111-labexp=mltree
40    Description:
41    
42    1.  Removed the type LabelExp and replace it by MLTree.
43    2.  Rewritten mltree-simplify with the pattern matcher tool.
44    3.  There were some bugs in alpha code generator which would break
45        64-bit code generation.
46    4.  Redo the tools to generate code with the
47    5.  The CM files in MLRISC (and in src/system/smlnj/MLRISC)
48        are now generated by perl scripts.
49    
50    ----------------------------------------------------------------------
51    Name: Matthias Blume
52    Date: 2001/01/10 21:55:00 JST
53    Tag: blume-20010110-rcc
54    Description:
55    
56    The RCC stuff now seems to work (but only on the x86).
57    This required hacking of the c-calls interface (and -implementation) in
58    MLRISC.
59    
60    Normal compiler users should be unaffected.
61    
62    ----------------------------------------------------------------------
63    Name: Matthias Blume
64    Date: 2001/01/09 01:20:00 JST
65    Tag: blume-20010109-rcc
66    Description:
67    
68    This is a fairly big patch, flushing out a large number of pending
69    changes that I made to my development copy over the last couple of days.
70    
71    Of practical relevance at this moment is a workaround for a pickling
72    bug that Allen ran into the other day.  The cause of the bug itself is
73    still unknown and it might be hard to fix it properly, but the
74    workaround has some merits of its own (namely somewhat reducing pickling
75    overhead for certain libraries).  Therefore, I think this solution should
76    be satisfactory at this time.
77    
78    The rest of the changes (i.e., the vast majority) has to do with my
79    ongoing efforts of providing direct support for C function calls from
80    ML.  At the moment there is a new primop "RAW_CCALL", typing magic
81    in types/cproto.sml (invoked from FLINT/trans/translate.sml), a new
82    case in the FLINT CPS datatype (RCC), changes to cps/convert.sml to
83    translate uses of RAW_CCALL into RCC, and changes to mlriscGen.sml to
84    handle RCC.
85    
86    The last part (the changes to mlriscGen.sml) are still known to be
87    wrong on the x86 and not implemented on all other architectures.  But
88    the infrastructure is in place. I had to change a few functor
89    signatures in the backend to be able to route the CCalls interface
90    from MLRISC there, and I had to specialize the mltree type (on the
91    x86) to include the necessary extensions. (The extensions themselves
92    were already there and redy to go in MLRISC/x86).
93    
94    Everything should be very happy as soon as someone helps me with
95    mlriscGen.sml...
96    
97    In any case, nothing of this should matter to anyone as long as the
98    new primop is not being used (which is going to be the case unless you
99    find it where I hid it :). The rest of the compiler is completely
100    unaffected.
101    
102    ----------------------------------------------------------------------
103    Name: Matthias Blume
104    Date: 2001/01/05 00:30:00 JST
105    Tag: blume-20010105-primops
106    Description:
107    
108    Added some experimental support for work that I am doing right now.
109    These changes mostly concern added primops, but there is also a new
110    experimental C library in the runtime system (but currently not enabled
111    anywhere except on Linux/X86).
112    
113    In the course of adding primops (and playing with them), I discovered that
114    Zhong's INL_PRIM hack (no type info for certain primops) was, in fact, badly
115    broken.  (Zhong was very right he labeled this stuff as "major gross hack".)
116    To recover, I made type information in INL_PRIM mandatory and changed
117    prim.sml as well as built-in.sml accordingly.  The InLine structure now
118    has complete, correct type information (i.e., no bottom types).
119    
120    Since all these changes mean that we need new binfiles, I also bumped the
121    version number to 110.32.1.
122    
123    ----------------------------------------------------------------------
124    Name: Matthias Blume
125    Date: 2000/12/30 22:10:00 JST
126    Tag: blume-20001230-various
127    Description:
128    
129    Added proxy libraries for MLRISC and let MLRISC libraries refer
130    to each other using path anchors.  (See CM manual for explanation.)
131    
132    Updated CM documentation.
133    
134    Fixed some bugs in CM.
135    
136    Implemented "proxy" libraries (= syntactic sugar for CM).
137    
138    Added "-quiet" option to makeml and changed runtime system accordingly.
139    
140    Added cleanup handler for exportML to reset timers and compiler stats.
141    
142    ----------------------------------------------------------------------
143    Name: Lal George
144    Date: 2000/12/22 22:22:58 EST 2000
145    Tag: Release_110_32
146    Description:
147    
148            Infinite precision used throughout MLRISC.
149            see MLRISC/mltree/machine-int.sig
150    
151    ----------------------------------------------------------------------
152    Name: Matthias Blume
153    Date: 2000/12/22 23:16:00 JST
154    Tag: blume-20001222-warn
155    Description:
156    
157    Corrected wording and formatting of some CM warning message which I
158    broke in my previous patch.
159    
160    ----------------------------------------------------------------------
161    Name: Matthias Blume
162    Date: 2000/12/22 21:20:00 JST
163    Tag: blume-20001222-anchorenv
164    Description:
165    
166    Fixed CM's handling of anchor environments in connection with CMB.make.
167    
168    ----------------------------------------------------------------------
169    Name: Matthias Blume
170    Date: 2000/12/22 13:15:00 JST
171    Tag: blume-20001222-cleanup
172    Description:
173    
174    Removed src/cm/ffi which does not (and did not) belong here.
175    
176    ----------------------------------------------------------------------
177    Name: Matthias Blume
178    Date: 2000/12/21 23:55:00 JST
179    Tag: blume-20001221-exn
180    Description:
181    
182    Probably most important: CM no longer silently swallows all exceptions
183    in the compiler.
184    Plus: some other minor CM changes.  For example, CM now reports some
185    sizes for generated binfiles (code, data, envpickle, lambdapickle).
186    
187    ----------------------------------------------------------------------
188    Name: Matthias Blume
189    Date: 2000/12/15 00:01:05 JST
190    Tag: blume-20001215-dirtool
191    Description:
192    
193    - "dir" tool added.
194    - improvements and cleanup to Tools structure
195    - documentation updates
196    
197    ----------------------------------------------------------------------
198    Name: Allen Leung
199    Date: Thu Dec 14 03:45:24 EST 2000
200    Description:
201    Tag:  leunga-20001214-int-inf
202    Description:
203    
204       In IntInf, added these standard functions, which are missing from our
205    implementation:
206    
207        andb : int * int -> int
208        xorb : int * int -> int
209        orb  : int * int -> int
210        notb : int -> int
211         <<   : int * word -> int
212        ~>>  : int * word -> int
213    
214       Not tested, I hope they are correct.
215    
216    ----------------------------------------------------------------------
217    Name: Allen Leung
218    Date: Fri Dec  8 19:23:26 EST 2000
219    Description:
220    Tag:  leunga-20001208-nowhere
221    Description:
222    
223      Slight improvements to the 'nowhere' tool to handle OR-patterns,
224    to generate better error messages etc.  Plus a brief manual.
225    
226    ----------------------------------------------------------------------
227    Name: Lal George
228    Date: 2000/12/08 09:54:02 EST 2000
229    Tag: Release_110_31
230    Description:
231    
232    - Version 110.31
233    ----------------------------------------------------------------------
234    Name: Allen Leung
235    Date: Thu Dec  7 22:01:04 EST 2000
236    Tag:  leunga-20001207-cell-monster-hack
237    Description:
238    
239    Major MLRISC internal changes.  Affect all clients.
240    Summary:
241    
242    1.  Type CELLS.cell = int is now replaced by a datatype.
243        As a result, the old regmap is now gone.  Almost all interfaces
244        in MLRISC change as a consequence.
245    
246    2.  A new brand version of machine description tool (v3.0) that generates
247        modules expecting the new interface.  The old version is removed.
248    
249    3.  The RA interface has been further abstracted into two new functors.
250        RISC_RA and X86RA.  These functors have much simpler interfaces.
251        [See also directory MLRISC/demo.]
252    
253    4.  Some other new source->source code generation tools are available:
254    
255        a. MLRISC/Tools/RewriteGen -- generate rewriters from rules.
256        b. MLRISC/Tools/WhereGen -- expands conditional pattern matching rules.
257           I use this tool to generate the peephole optimizers---with the new
258           cell type changes, peephole rules are becoming difficult to write
259           without conditional pattern matching.
260    
261    5.  More Intmap -> IntHashTable change.  Previous changes by Matthias didn't
262        cover the entire MLRISC source tree so many things broke.
263    
264    6.  CM files have been moved to the subdirectory MLRISC/cm.
265        They are moved because there are a lot of them and they clutter up the
266        root dir.
267    
268    7.  More detailed documentation to come...
269    
270        NOTE: To rebuild from 110.30 (ftp distribution), you'll have to do
271        a makeml -rebuild first.  This is because of other other
272        changes that Matthias has made (see below).
273    
274    
275    ----------------------------------------------------------------------
276    Name: Matthias Blume
277    Date: 2000/11/30 23:12:00 JST
278    Tag: blume-20001130-filereorg
279    Description:
280    
281    Some manual updates and some file reorganizations in CM.
282    
283    ----------------------------------------------------------------------
284    Name: Matthias Blume
285    Date: 2000/11/24 17:45:00 JST
286    Tag: blume-20001124-link
287    Description:
288    
289    Drastically improved link traversal code for the case that the dynamic
290    value was already loaded at bootstrap time.  As a result, CM and CMB
291    now both load blazingly fast -- even on a very slow machine.  Also,
292    memory consumption has been further reduced by this.
293    
294    Warning: The format of the PIDMAP file has changed.  THerefore, to
295    bootstrap you have to do this:
296    
297    1. Run CMB.make
298    2. Make a symbolic link for the boot directory:
299         ln -s sml.boot.ARCH-OS xxx
300    3. "Rebuild" the boot directory:
301         ./makeml -boot xxx -rebuild sml ; rm xxx
302    4. Boot normally:
303          ./makeml
304    
305    ----------------------------------------------------------------------
306    Name: Matthias Blume
307    Date: 2000/11/21 21:20:00 JST
308    Tag: blume-20001121-tools
309    Description:
310    
311    Continued hacking on autoloading problem -- with success this time.
312    Also changed tool-plugin mechanism.  See new CM manual.
313    
314    ----------------------------------------------------------------------
315    Name: Matthias Blume
316    Date: 2000/11/19 14:30:00 JST
317    Tag:  blume-20001119-autoload
318    Description:
319    
320    Some hacking to make autoloading faster.  Success for CMB, no success
321    so far for CM.  There is a reduced structure CM' that autoloads faster.
322    (This is a temporary, non-documented hack to be eliminated again when
323    the general problem is solved.)
324    
325    ----------------------------------------------------------------------
326    Name: Matthias Blume
327    Date: 2000/11/17 14:10:00 JST
328    Tag: blume-20001117-pickle-lib
329    Description:
330    
331    1. Eliminated comp-lib.cm
332    2. Made pickle-lib.cm
333    3. Eliminated all uses of intset.sml (from comp-lib.cm)
334    4. Replaced all uses of intmap.{sig,sml} (from comp-lib.cm) with
335       equivalent constructs from smlnj-lib.cm (INtHashTable).
336    5. Point 4. also goes for those uses of intmap.* in MLRISC.
337       Duplicated intmap modules thrown out.
338    6. Hunted down all duplicated SCC code and replaced it with
339       equivalent stuff (GraphSCCFn from smlnj-lib.cm).
340    7. Rewrote Feedback module.
341    8. Moved sortedlist.sml into viscomp-lib.cm.  Eventually it
342       should be thrown out and equivalent modules from smlnj-lib.cm
343       should be used (IntRedBlackSet, IntListSet, ...).
344    
345    Confirmed that compiler compiles to fixpoint.
346    
347    ----------------------------------------------------------------------
348    Name: Allen Leung
349    Date: 2000/11/10 18:00:00
350    Tag: leunga-20001110-new-x86-fp
351    
352    A new x86 floating point code generator has been added.
353    By default this is turned off.  To turn this on, do:
354    
355        CM.autoload "$smlnj/compiler.cm";
356        Compiler.Control.MLRISC.getFlag "x86-fast-fp" := true;
357    
358    Changes:
359    
360    1.  Changed FTAN to FPTAN so that the assembly output is correct.
361    2.  Changed the extension callback for FTANGENT to generate:
362    
363              fptan
364              fstp  %st(0)
365        instead of
366              fptan
367              fstpl ftempmem
368    
369    3.  Numerous assembly fixes for x86.
370    
371    5.  Cleaned up the machine code output module x86/x86MC.sml and added
372        support for a whole bunch of instructions and addressing modes:
373    
374          fadd/fsub/fsubr/fmul/fdiv/fdivr  %st, %st(n)
375          faddp/fsubp/fsubrp/fmulp/fdivp/fdivrp  %st, %st(n)
376          fadd/fsub/fsubr/fmul/fdiv/fdivr  %st(n), %st
377          fiadd/fisub/fisubr/fimul/fidiv/fidivr mem
378          fxch %st(n)
379          fld %st(n)
380          fst %st(n)
381          fst mem
382          fstp %st(n)
383          fucom %st(n)
384          fucomp %st(n)
385    
386        All these are now generated when the fast fp mode is turned on.
387    
388    6.  Removed the dedicated registers %st(0), ..., %st(7) from X86CpsRegs
389    
390    ----------------------------------------------------------------------
391    Name: Matthias Blume
392    Date: 2000/11/09 11:20:00 JST
393    Tag: blume-20001109-scc
394    Description:
395    
396    Eliminated some code duplication:
397    
398    1. Added "where" clause to GraphSCCFn in SML/NJ Library.
399       (Otherwise the functor is useless.)
400    2. Used GraphSCCFn where SCCUtilFun was used previously.
401    3. Got rid of SCCUtilFun (in comp-lib.cm).
402    
403    ----------------------------------------------------------------------
404    Name: Lal George
405    Date: 2000/11/06 09:02:21 EST 2000
406    Tag: Release_110_30
407    Description:
408    
409    - Version 110.30
410    ----------------------------------------------------------------------
411    Name: Matthias Blume
412    Date: 2000/11/04 14:45:00
413    Tag: blume-20001104-mlbuild
414    Description:
415    
416    - Made ml-build faster on startup.
417    - Documentation fixes.
418    
419  ----------------------------------------------------------------------  ----------------------------------------------------------------------
420  Name: Matthias Blume  Name: Matthias Blume

Legend:
Removed from v.715  
changed lines
  Added in v.778

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