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

Legend:
Removed from v.697  
changed lines
  Added in v.800

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