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 686, Tue Jul 18 08:58:50 2000 UTC revision 772, Thu Jan 4 15:36:41 2001 UTC
# Line 13  Line 13 
13  Description:  Description:
14  ----------------------------------------------------------------------  ----------------------------------------------------------------------
15  Name: Matthias Blume  Name: Matthias Blume
16    Date: 2001/01/05 00:30:00 JST
17    Tag: blume-20010105-primops
18    Description:
19    
20    Added some experimental support for work that I am doing right now.
21    These changes mostly concern added primops, but there is also a new
22    experimental C library in the runtime system (but currently not enabled
23    anywhere except on Linux/X86).
24    
25    In the course of adding primops (and playing with them), I discovered that
26    Zhong's INL_PRIM hack (no type info for certain primops) was, in fact, badly
27    broken.  (Zhong was very right he labeled this stuff as "major gross hack".)
28    To recover, I made type information in INL_PRIM mandatory and changed
29    prim.sml as well as built-in.sml accordingly.  The InLine structure now
30    has complete, correct type information (i.e., no bottom types).
31    
32    Since all these changes mean that we need new binfiles, I also bumped the
33    version number to 110.32.1.
34    
35    ----------------------------------------------------------------------
36    Name: Matthias Blume
37    Date: 2000/12/30 22:10:00 JST
38    Tag: blume-20001230-various
39    Description:
40    
41    Added proxy libraries for MLRISC and let MLRISC libraries refer
42    to each other using path anchors.  (See CM manual for explanation.)
43    
44    Updated CM documentation.
45    
46    Fixed some bugs in CM.
47    
48    Implemented "proxy" libraries (= syntactic sugar for CM).
49    
50    Added "-quiet" option to makeml and changed runtime system accordingly.
51    
52    Added cleanup handler for exportML to reset timers and compiler stats.
53    
54    ----------------------------------------------------------------------
55    Name: Lal George
56    Date: 2000/12/22 22:22:58 EST 2000
57    Tag: Release_110_32
58    Description:
59    
60            Infinite precision used throughout MLRISC.
61            see MLRISC/mltree/machine-int.sig
62    
63    ----------------------------------------------------------------------
64    Name: Matthias Blume
65    Date: 2000/12/22 23:16:00 JST
66    Tag: blume-20001222-warn
67    Description:
68    
69    Corrected wording and formatting of some CM warning message which I
70    broke in my previous patch.
71    
72    ----------------------------------------------------------------------
73    Name: Matthias Blume
74    Date: 2000/12/22 21:20:00 JST
75    Tag: blume-20001222-anchorenv
76    Description:
77    
78    Fixed CM's handling of anchor environments in connection with CMB.make.
79    
80    ----------------------------------------------------------------------
81    Name: Matthias Blume
82    Date: 2000/12/22 13:15:00 JST
83    Tag: blume-20001222-cleanup
84    Description:
85    
86    Removed src/cm/ffi which does not (and did not) belong here.
87    
88    ----------------------------------------------------------------------
89    Name: Matthias Blume
90    Date: 2000/12/21 23:55:00 JST
91    Tag: blume-20001221-exn
92    Description:
93    
94    Probably most important: CM no longer silently swallows all exceptions
95    in the compiler.
96    Plus: some other minor CM changes.  For example, CM now reports some
97    sizes for generated binfiles (code, data, envpickle, lambdapickle).
98    
99    ----------------------------------------------------------------------
100    Name: Matthias Blume
101    Date: 2000/12/15 00:01:05 JST
102    Tag: blume-20001215-dirtool
103    Description:
104    
105    - "dir" tool added.
106    - improvements and cleanup to Tools structure
107    - documentation updates
108    
109    ----------------------------------------------------------------------
110    Name: Allen Leung
111    Date: Thu Dec 14 03:45:24 EST 2000
112    Description:
113    Tag:  leunga-20001214-int-inf
114    Description:
115    
116       In IntInf, added these standard functions, which are missing from our
117    implementation:
118    
119        andb : int * int -> int
120        xorb : int * int -> int
121        orb  : int * int -> int
122        notb : int -> int
123         <<   : int * word -> int
124        ~>>  : int * word -> int
125    
126       Not tested, I hope they are correct.
127    
128    ----------------------------------------------------------------------
129    Name: Allen Leung
130    Date: Fri Dec  8 19:23:26 EST 2000
131    Description:
132    Tag:  leunga-20001208-nowhere
133    Description:
134    
135      Slight improvements to the 'nowhere' tool to handle OR-patterns,
136    to generate better error messages etc.  Plus a brief manual.
137    
138    ----------------------------------------------------------------------
139    Name: Lal George
140    Date: 2000/12/08 09:54:02 EST 2000
141    Tag: Release_110_31
142    Description:
143    
144    - Version 110.31
145    ----------------------------------------------------------------------
146    Name: Allen Leung
147    Date: Thu Dec  7 22:01:04 EST 2000
148    Tag:  leunga-20001207-cell-monster-hack
149    Description:
150    
151    Major MLRISC internal changes.  Affect all clients.
152    Summary:
153    
154    1.  Type CELLS.cell = int is now replaced by a datatype.
155        As a result, the old regmap is now gone.  Almost all interfaces
156        in MLRISC change as a consequence.
157    
158    2.  A new brand version of machine description tool (v3.0) that generates
159        modules expecting the new interface.  The old version is removed.
160    
161    3.  The RA interface has been further abstracted into two new functors.
162        RISC_RA and X86RA.  These functors have much simpler interfaces.
163        [See also directory MLRISC/demo.]
164    
165    4.  Some other new source->source code generation tools are available:
166    
167        a. MLRISC/Tools/RewriteGen -- generate rewriters from rules.
168        b. MLRISC/Tools/WhereGen -- expands conditional pattern matching rules.
169           I use this tool to generate the peephole optimizers---with the new
170           cell type changes, peephole rules are becoming difficult to write
171           without conditional pattern matching.
172    
173    5.  More Intmap -> IntHashTable change.  Previous changes by Matthias didn't
174        cover the entire MLRISC source tree so many things broke.
175    
176    6.  CM files have been moved to the subdirectory MLRISC/cm.
177        They are moved because there are a lot of them and they clutter up the
178        root dir.
179    
180    7.  More detailed documentation to come...
181    
182        NOTE: To rebuild from 110.30 (ftp distribution), you'll have to do
183        a makeml -rebuild first.  This is because of other other
184        changes that Matthias has made (see below).
185    
186    
187    ----------------------------------------------------------------------
188    Name: Matthias Blume
189    Date: 2000/11/30 23:12:00 JST
190    Tag: blume-20001130-filereorg
191    Description:
192    
193    Some manual updates and some file reorganizations in CM.
194    
195    ----------------------------------------------------------------------
196    Name: Matthias Blume
197    Date: 2000/11/24 17:45:00 JST
198    Tag: blume-20001124-link
199    Description:
200    
201    Drastically improved link traversal code for the case that the dynamic
202    value was already loaded at bootstrap time.  As a result, CM and CMB
203    now both load blazingly fast -- even on a very slow machine.  Also,
204    memory consumption has been further reduced by this.
205    
206    Warning: The format of the PIDMAP file has changed.  THerefore, to
207    bootstrap you have to do this:
208    
209    1. Run CMB.make
210    2. Make a symbolic link for the boot directory:
211         ln -s sml.boot.ARCH-OS xxx
212    3. "Rebuild" the boot directory:
213         ./makeml -boot xxx -rebuild sml ; rm xxx
214    4. Boot normally:
215          ./makeml
216    
217    ----------------------------------------------------------------------
218    Name: Matthias Blume
219    Date: 2000/11/21 21:20:00 JST
220    Tag: blume-20001121-tools
221    Description:
222    
223    Continued hacking on autoloading problem -- with success this time.
224    Also changed tool-plugin mechanism.  See new CM manual.
225    
226    ----------------------------------------------------------------------
227    Name: Matthias Blume
228    Date: 2000/11/19 14:30:00 JST
229    Tag:  blume-20001119-autoload
230    Description:
231    
232    Some hacking to make autoloading faster.  Success for CMB, no success
233    so far for CM.  There is a reduced structure CM' that autoloads faster.
234    (This is a temporary, non-documented hack to be eliminated again when
235    the general problem is solved.)
236    
237    ----------------------------------------------------------------------
238    Name: Matthias Blume
239    Date: 2000/11/17 14:10:00 JST
240    Tag: blume-20001117-pickle-lib
241    Description:
242    
243    1. Eliminated comp-lib.cm
244    2. Made pickle-lib.cm
245    3. Eliminated all uses of intset.sml (from comp-lib.cm)
246    4. Replaced all uses of intmap.{sig,sml} (from comp-lib.cm) with
247       equivalent constructs from smlnj-lib.cm (INtHashTable).
248    5. Point 4. also goes for those uses of intmap.* in MLRISC.
249       Duplicated intmap modules thrown out.
250    6. Hunted down all duplicated SCC code and replaced it with
251       equivalent stuff (GraphSCCFn from smlnj-lib.cm).
252    7. Rewrote Feedback module.
253    8. Moved sortedlist.sml into viscomp-lib.cm.  Eventually it
254       should be thrown out and equivalent modules from smlnj-lib.cm
255       should be used (IntRedBlackSet, IntListSet, ...).
256    
257    Confirmed that compiler compiles to fixpoint.
258    
259    ----------------------------------------------------------------------
260    Name: Allen Leung
261    Date: 2000/11/10 18:00:00
262    Tag: leunga-20001110-new-x86-fp
263    
264    A new x86 floating point code generator has been added.
265    By default this is turned off.  To turn this on, do:
266    
267        CM.autoload "$smlnj/compiler.cm";
268        Compiler.Control.MLRISC.getFlag "x86-fast-fp" := true;
269    
270    Changes:
271    
272    1.  Changed FTAN to FPTAN so that the assembly output is correct.
273    2.  Changed the extension callback for FTANGENT to generate:
274    
275              fptan
276              fstp  %st(0)
277        instead of
278              fptan
279              fstpl ftempmem
280    
281    3.  Numerous assembly fixes for x86.
282    
283    5.  Cleaned up the machine code output module x86/x86MC.sml and added
284        support for a whole bunch of instructions and addressing modes:
285    
286          fadd/fsub/fsubr/fmul/fdiv/fdivr  %st, %st(n)
287          faddp/fsubp/fsubrp/fmulp/fdivp/fdivrp  %st, %st(n)
288          fadd/fsub/fsubr/fmul/fdiv/fdivr  %st(n), %st
289          fiadd/fisub/fisubr/fimul/fidiv/fidivr mem
290          fxch %st(n)
291          fld %st(n)
292          fst %st(n)
293          fst mem
294          fstp %st(n)
295          fucom %st(n)
296          fucomp %st(n)
297    
298        All these are now generated when the fast fp mode is turned on.
299    
300    6.  Removed the dedicated registers %st(0), ..., %st(7) from X86CpsRegs
301    
302    ----------------------------------------------------------------------
303    Name: Matthias Blume
304    Date: 2000/11/09 11:20:00 JST
305    Tag: blume-20001109-scc
306    Description:
307    
308    Eliminated some code duplication:
309    
310    1. Added "where" clause to GraphSCCFn in SML/NJ Library.
311       (Otherwise the functor is useless.)
312    2. Used GraphSCCFn where SCCUtilFun was used previously.
313    3. Got rid of SCCUtilFun (in comp-lib.cm).
314    
315    ----------------------------------------------------------------------
316    Name: Lal George
317    Date: 2000/11/06 09:02:21 EST 2000
318    Tag: Release_110_30
319    Description:
320    
321    - Version 110.30
322    ----------------------------------------------------------------------
323    Name: Matthias Blume
324    Date: 2000/11/04 14:45:00
325    Tag: blume-20001104-mlbuild
326    Description:
327    
328    - Made ml-build faster on startup.
329    - Documentation fixes.
330    
331    ----------------------------------------------------------------------
332    Name: Matthias Blume
333    Date: 2000/11/02 17:00:00 JST
334    Tag: blume-20001102-condcomp
335    Description:
336    
337    - Small tweaks to pickler -- new BOOTFILES!
338    - Version bumped to 110.29.2.
339    - Added conditional compilation facility to init.cmi (see comment there).
340    ----------------------------------------------------------------------
341    Name: Allen Leung
342    Date: 2000/10/23 19:31:00
343    Tag: leunga-20001023-demo-ra
344    
345    1. Minor RA changes that improves spilling on x86 (affects Moby and C-- only)
346    2. Test programs for the graph library updated
347    3. Some new MLRISC demo programs added
348    
349    ----------------------------------------------------------------------
350    Name: Matthias Blume
351    Date: 2000/08/31 22:15:00 JST
352    Tag: blume-20001017-errmsg
353    Description:
354    
355    More error message grief: Where there used to be no messages, there
356    now were some that had bogus error regions.  Fixed.
357    
358    ----------------------------------------------------------------------
359    Name: Matthias Blume
360    Date: 2000/08/31 17:30:00 JST
361    Tag: blume-20001017-v110p29p1
362    Description:
363    
364    I made a version 110.29.1 with new bootfiles.
365    
366    Changes:  Modified pickler/unpickler for faster and leaner unpickling.
367              CM documentation changes and a small bugfix in CM's error reporting.
368    
369    ----------------------------------------------------------------------
370    Name: Lal George
371    Date: 2000/09/27 14:42:35 EDT
372    Tag: george-20000927-nodestatus
373    Description:
374    
375    Changed the type of the nodestatus, so that:
376    
377            SPILLED(~1)             is now SPILLED
378            SPILLED(m) where m>=0   is now MEMREG(m)
379            SPILLED(s) where s<~1   is now SPILL_LOC(~s)
380    
381    ----------------------------------------------------------------------
382    Name: Matthias Blume
383    Date: 2000/09/07 14:45:00 JST
384    Tag: blume-20000907-cmerrmsg
385    Description:
386    
387    Small tweak to CM to avoid getting ML syntax error messages twice.
388    
389    ----------------------------------------------------------------------
390    Name: Matthias Blume
391    Date: 2000/08/31 18:00:00 JST
392    Tag: blume-20000831-cvsbootfiles
393    Description:
394    
395    New URL for boot files (because the 110.29 files on the BL server do
396    now work correctly with my updated install scripts for yacc and lex).
397    
398    ----------------------------------------------------------------------
399    Name: Matthias Blume
400    Date: 2000/08/08 12:33:00 JST
401    Tag: blume-20000808-manual
402    Description:
403    
404    Tiny update to CM manual.
405    
406    ----------------------------------------------------------------------
407    Name: Allen Leung
408    Date: 2000/08/7 19:31:00
409    Tag: leunga-20000807-a-whole-bunch-of-stuff
410    
411      Moby, C--, SSA, x86, machine descriptions etc.  Should only affect C--
412    and Mobdy.
413    
414    1.  x86
415    
416       a.  Fixes to peephole module by John and Dan.
417       b.  Assembly fix to SETcc by Allen.
418       c.  Fix to c-call by John.
419       d.  Fix to spilling by John.  (This one deals with the missing FSTPT case)
420       e.  Instruction selection optimization to SETcc as suggested by John.
421    
422           For example,
423    
424            MV(32, x, COND(32, CMP(32, LT, a, b), LI 1, LI 0))
425    
426           should generate:
427    
428            MOVL a, x
429            SUBL b, x
430            SHRL 31, x
431    
432    2.  IR stuff
433    
434         A bunch of new DJ-graph related algorithms added.  These
435         speed up SSA construction.
436    
437    3.  SSA + Scheduling
438    
439         Added code for SSA and scheduling to the repository
440    
441    ----------------------------------------------------------------------
442    Name: Lal George
443    Date: 2000/07/27 11:53:14 EDT
444    
445    Tag: lal-20000727-linux-ppc
446    Description:
447    
448     Made changes to support Linux PPC.
449     p.s. I have confirmation that the 110.29 boot files work fine.
450    
451    ----------------------------------------------------------------------
452    Name: Matthias Blume
453    Date: 2000/07/27 17:40:00 JST
454    Tag: blume-20000727-scripts
455    Description:
456    
457    !!!! WARNING !!!!
458    You must recompile the runtime system!
459    !!!! WARNING !!!!
460    
461    This is basically another round of script-enhancements:
462    
463    1. sml, ml-build, and ml-makedepend accept options -D and -U to define
464       and undefine CM preprocessor symbols.
465    
466    2. ml-build avoids generating a new heap image if it finds that the
467       existing one is still ok.  (The condition is that no ML file had to
468       be recompiled and all ML files are found to be older that the heap
469       file.)
470    
471       To make this work smoothly, I also hacked the runtime system as
472       well as SMLofNJ.SysInfo to get access to the heap image suffix
473       (.sparc-solaris, ...) that is currently being used.
474    
475       Moreover, the signature of CM.mk_standalone has changed.  See the
476       CM manual.
477    
478    3. ml-makedepend accepts additional options -n, -a, and -o.  (See the
479       CM manual for details.)
480    
481    4. More CM manual updates:
482        - all of the above has been documented.
483        - there is now a section describing the (CM-related) command line
484          arguments that are accepted by the "sml" command
485    
486    ----------------------------------------------------------------------
487    Name: Matthias Blume
488    Date: 2000/07/25 16:20:00 JST
489    Tag: blume-20000725-makedepend
490    Description:
491    
492    Added a script called ml-makedepend.  This can be used in makefiles
493    for Unix' make in a way very similar to the "makedepend" command for
494    C.
495    
496    The script internally uses function CM.sources.
497    
498    Synopsis:
499    
500        ml-makedepend [-f makefile] cmfile targetname
501    
502    The default for the makefile is "makefile" (or "Makefile" should
503    "makefile" not exist).
504    
505    ml-makedepend adds a cmfile/targetname-specific section to this
506    makefile (after removing the previous version of this section).  The
507    section contains a single dependency specification with targetname on
508    the LHS (targetname is an arbitrary name), and a list of files derived
509    from the cmfile on the RHS.  Some of the files on the RHS are
510    ARCH/OPSYS-specific.  Therefore, ml-makedepend inserts references to
511    "make" variables $(ARCH) and $(OPSYS) in place of the corresponding
512    path names.  The makefile writer is responsible for making sure that
513    these variables have correct at the time "make" is invoked.
514    
515    ----------------------------------------------------------------------
516    Name: Matthias Blume
517    Date: 2000/07/22 23:30:00 JST
518    Tag: blume-20000722-urlupdate
519    Description:
520    
521    Changed BOOT and config/srcarchiveurl to point to BL server:
522    
523        ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.29/
524    
525    ----------------------------------------------------------------------
526    Name: Matthias Blume
527  Date: 2000/07/18 18:00:00 JST  Date: 2000/07/18 18:00:00 JST
528  Tag: blume-20000718-Version_110_29  Tag: blume-20000718-Version_110_29
529  Description:  Description:

Legend:
Removed from v.686  
changed lines
  Added in v.772

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