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

Legend:
Removed from v.695  
changed lines
  Added in v.806

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