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

Legend:
Removed from v.691  
changed lines
  Added in v.799

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