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

Legend:
Removed from v.680  
changed lines
  Added in v.752

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