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

Legend:
Removed from v.701  
changed lines
  Added in v.801

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