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

Legend:
Removed from v.678  
changed lines
  Added in v.760

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