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

Legend:
Removed from v.703  
changed lines
  Added in v.796

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