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

Legend:
Removed from v.716  
changed lines
  Added in v.781

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