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/NOTES/HISTORY
ViewVC logotype

Diff of /sml/trunk/NOTES/HISTORY

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 594, Tue Apr 4 23:41:47 2000 UTC revision 644, Fri May 12 09:18:31 2000 UTC
# Line 12  Line 12 
12  Tag: <post-commit CVS tag>  Tag: <post-commit CVS tag>
13  Description:  Description:
14  ----------------------------------------------------------------------  ----------------------------------------------------------------------
15    Name: Matthias Blume
16    Date: 2000/05/12 18:20:00 JST
17    Tag: blume-20000512-ml-build
18    Description:
19    
20    Fixed a bug in config/_ml-build that prevented ml-yacc and ml-lex from
21    getting installed properly (by config/install.sh).
22    
23    ----------------------------------------------------------------------
24    Name: Matthias Blume
25    Date: 2000/05/12 17:30:00 JST
26    Tag: blume-20000512-anchors
27    Description:
28    
29    !!! NEW BOOT FILES !!!
30    
31    This change is in preparation of fading out support for "implicitly
32    anchored path names".  I went through all sources and used the
33    explicit (and relatively new) $-notation.  See system/README and the
34    CM manual for more info on this.
35    
36    I also modified the anchoring scheme for some things such as "smlnj",
37    "MLRISC", "cm", etc. to take advantage of the fact that explicit
38    anchors are more expressive: anchor name and first arc do not have to
39    coincide.  This entails the following user-visible change:
40    
41    You have to write $smlnj/foo/bar instead of smlnj/foo/bar.  In
42    particular, when you fire up sml with a command-line argument, say,
43    e.g.:
44    
45       sml '$smlnj/cmb.cm'
46    
47    At the ML toplevel prompt:
48    
49       CM.autoload "$smlnj/cmb.cm";
50    
51    There is also a new controller in CM.Control that can be used to turn
52    off all remaining support for implicit anchors by saying:
53    
54        CM.autoload "$smlnj/
55        #set CM.Control.implicit_anchors false;
56    
57    This causes CM to reject implicitly anchored paths.  This is (for the
58    time being) less permissive than the "final" version where there will
59    be no more such implicit anchors and relative paths will be just that:
60    relative.
61    
62    The next step (version after next version?) will be to make the
63    default for CM.Control.implicit_anchors false.  After the dust has
64    settled, I can then produce the "final" version of this...
65    
66    Note: Since bootstrapping is a bit tricky, I provided new boot files.
67    
68    ----------------------------------------------------------------------
69    Name: Matthias Blume
70    Date: 2000/05/11 16:30:00 JST
71    Tag: blume-20000511-sources
72    Description:
73    
74    The main change is that I added function CM.sources as a generalized
75    version of the earlier CM.makedepend.  This entails the following
76    additional changes:
77    
78      - CM.makedepend has been dropped.
79    
80      - CM manual has been updated.
81    
82      - TOOLS signature and API have been changed.
83    
84    ----------------------------------------------------------------------
85    Name: Allen Leung
86    Date: 2000/05/10 21:17 EDT
87    Tag: leunga-20000510-moby-c--ssa
88    Description:
89    
90      Various bug fixes and new features for C--, Moby and MLRISC optimizations.
91    None of these affect SML/NJ.
92    
93    1. Register Allocation
94    
95        a. A new ra spilling module (ra/ra-spill-with-renaming) is implemented.
96           This module tries to remove local (i.e. basic block level) redundancies
97           during spilling.
98    
99        b. A new framework for performing region based register allocation.
100           Not yet entirely functional.
101    
102    2. X86
103    
104       a. DefUse for POP was missing the stack pointer [found by Lal]
105       b. Reload for CALL was incorrect in X86Spill [found by John]
106       c. Various fixes in X86Spill so that it can be used correctly for
107          the new spilling module.
108    
109    3. SSA/IR
110    
111       a. New module ir/dj-dataflow.sml implements elimination based
112          data flow analysis.
113    
114    4. MLRiscGen
115    
116       a. Fix for gc type annotation
117    
118    5. MDGen
119    
120       Various fixes for machine description -> ml code translation.  For ssa
121       only.
122    
123    ----------------------------------------------------------------------
124    Name: Allen Leung
125    Date: 2000/05/08 22:17 EDT
126    Tag: leunga-20000508-labexp
127    Description:
128    
129      Fermin has found a few assembly problems with constant expressions
130      generated in LabelExp.  Mostly, the problems involve extra parentheses,
131      which choke on dumb assemblers.  This is his fix.
132    
133    ----------------------------------------------------------------------
134    Name: Dave MacQueen
135    Date: 2000/04/09 14:00 EDT
136    Tag: dbm-20000502-Version_110_28
137    Description:
138    
139    1. Updated src/compiler/TopLevel/main/version.sml to version 110.28
140    
141    2. Updated config/version to 110.28
142    
143    3. Updated config/srcarchiveurl
144    
145    3. New boot files!
146       ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.28/
147    
148    ----------------------------------------------------------------------
149    Name: Matthias Blume
150    Date: 2000/05/01 19:05:00 JST
151    Tag: blume-20000501-noweb
152    Description:
153    
154    A new noweb tool has been added.  The existing system is entirely
155    unaffected by this, but some CM users have asked for renewed noweb
156    support.  Everything is documented in the CM manual.
157    
158    New (plugin) libraries:
159    
160       noweb-tool.cm
161       nw-ext.cm
162    
163    ----------------------------------------------------------------------
164    Name: Dave MacQueen
165    Date: 2000/04/30 12:40PM EDT
166    Tag: dbm-20000430-bug_fixes
167    Description:
168    
169    1. Fix for bug 1498
170       smlnj/src/system/Basis/Implementation/Unsafe/object.sig
171       smlnj/src/system/Basis/Implementation/Unsafe/object.sml
172         added toRealArray function
173       smlnj/src/compiler/MiscUtil/print/ppobj.sml
174         added check for tag Obj.RealArray to array printing case in ppObj
175    
176    2. Fix for bug 1510
177       smlnj/src/compiler/Semant/types/typesutil.sml
178         fixed definition of dummyargs (used by equalTycon) so that
179         dummy args are distinct types
180    
181    ----------------------------------------------------------------------
182    Name: Matthias Blume
183    Date: 2000/04/30 01:00:00 JST
184    Tag: blume-20000430-versions
185    Description:
186    
187    1. CM version numbering added.  This is an implementation of Lal's
188       proposal for adding version numbers and version checking to .cm
189       files.  Lal said that his proposal was just that -- a proposal.
190       For the time being I went ahead and implemented it so that people
191       can comment on it.  Everything is completely backward-compatible
192       (except for the stable library format, i.e., new bootfiles!).
193    
194       As usual, see the CM manual for details.
195    
196    2. An alternative syntax for anchored paths has been implemented.
197       Dave has recently voiced the same concerns that I had when I did
198       this, so there should be some support.  My take is that eventually
199       I will let support for the current syntax (where anchors are
200       "implicit") fade out in favor of the new, explicit syntax.
201       In order to be backward-compatible, both old and new syntax are
202       currently supported.
203    
204       Again, see the CM manual for details.
205    
206    3. Parallel make is trying to be slightly smarter:  When the master
207       process finds a "bottleneck", i.e., when there is only one
208       compilation unit that can be compiled and everybody else is
209       waiting on it, then it will simply compile it directly instead
210       of clumsily telling one of the slaves to do it.
211    
212    4. Support for "unsharing" added.  This is necessary in order to be
213       able to have two different versions of the same library running
214       at the same time (e.g., for trying out a new MLRISC while still
215       having the old MLRISC linked into the current compiler, etc.)
216       See the CM manual.
217    
218    5. Simple "makedepend" functionality added for generating Makefile
219       dependency information.  (This is rather crude at the moment.
220       Expect some changes here in the future.)
221    
222    6. ".fun" added as a recognized suffix for ML files. Also documented
223       explicitly in the manual that the fallback behavior (unknown suffix
224       -> ML file) is not an official feature!
225    
226    7. Small changes to the pickler for stable libraries.
227    
228    8. Several internal changes to CM (for cleanup/improvement).
229    
230    
231    !!!! NEW BINFILES !!!!
232    
233    ----------------------------------------------------------------------
234    Name: Matthias Blume
235    Date: 2000/04/28 17:30:00 JST
236    Tag: blume-20000428-pathconfig
237    Description:
238    
239    1. I changed config/install.sh to remove duplicate entries from the
240       lib/pathconfig file at the end.  Moreover, the final version of
241       lib/pathconfig is sorted alphabetically.  The same (sorting) is done
242       in src/system/installml.
243    
244    2. The config/install.sh script now consistently uses relative
245       pathnames in lib/pathconfig whenever the anchor is in the lib
246       directory.  (So far this was true for the libraries that come
247       pre-compiled and bundled as part of the bootfiles but not for
248       libraries that are compiled by the script itself.)
249    
250    ----------------------------------------------------------------------
251    Name: Matthias Blume
252    Date: 2000/04/26 13:10:00 JST
253    Tag: blume-20000426-fun_suffix
254    Description:
255    
256    Added ".fun" as a recognized file name suffix (for ML code).
257    
258    ----------------------------------------------------------------------
259    Name: Allen Leung
260    Date: 2000/04/25 17:00:00 EST
261    Tag: leunga-20000425-alpha-ra
262    Description:
263    
264    1. Alpha
265    
266        PSEUDOARITH was missing in AlphaRewrite.  This causes an endless loop
267    in C--.
268    
269    2. RA
270    
271       Added a flag "ra-dump-size" to print out the size of the flowgraph
272       and the interference graph.
273    
274    ----------------------------------------------------------------------
275    Name: Dave MacQueen
276    Date: 2000/04/25/
277    Tag: dbm-20000425-mlyacc_doc_examples
278    Description:
279      Updated mlyacc.tex sections 5 and 7 for SML '97 and CM.
280      Updated all three examples in src/ml-yacc/examples to run
281      under 110.* using CM.make.
282    
283    ----------------------------------------------------------------------
284    Name: Allen Leung
285    Date: 2000/04/20 23:04:00 EST
286    Tag: leunga-20000420-ssa-c---stuff
287    Description:
288    
289      This update synchronizes my repository with Yale's.  Most of these
290    changes, however, do not affect SML/NJ at all (the RA is an exception).
291    
292    1. Register Allocator
293    
294       a. An improvement in the interference graph construction:
295          Given a copy
296    
297                s <- t
298    
299          no interference edge between s and t is added for this definition of s.
300    
301       b. I've added two new spill heuristic modules that Fermin and I developed
302          (in the new library RA.cm). These are unused in SML/NJ but maybe
303          useful for others (Moby?)
304    
305    2. X86
306    
307       a. Various fixes in the backend provided by Fermin [C--] and Lal.
308    
309    3. Alpha
310    
311       a. Added the BSR instruction and code generation that goes with it [C--]
312       b. Other fixes too numerous to recount provided by Fermin [C--]
313    
314    4. Regmaps
315    
316       a. The regmaps are not initialized with the identity physical bindings
317          at creation time.  This is unneeded.
318    
319    5. MLRISC Optimizations
320    
321       a. The DJ-Graph module can now compute the iterated dominance frontiers
322          intersects with liveness incrementally in linear time! Woohoo!
323          This is now used in my new SSA construction algorithm.
324    
325       b. THe branch reorganization module is now smarter about linear chains of
326          basic blocks.
327    
328    
329    ----------------------------------------------------------------------
330    Name: Matthias Blume
331    Date: 2000/04/12 13:52:00 JST
332    Tag: blume_main_v110p27_1
333    Description:
334    
335    Changed install.sh script to handle archive files without version number
336    and to use "boot.<arch>-<os>" instead of "sml.boot.<arch>-<os>" for the
337    name of the boot file archive.
338    
339    ----------------------------------------------------------------------
340    Name: Dave MacQueen
341    Date: 2000/04/09 14:00 EDT
342    Tag: dbm-20000410-Version_110_27
343    Description:
344    
345    1. Updated src/compiler/TopLevel/main/version.sml to version 110.27
346    
347    2. Updated src/config/version to 110.27
348    
349    3. New boot files!
350    
351    ----------------------------------------------------------------------
352    Name: Allen Leung
353    Date: 2000/04/09 19:09:00 EST
354    Tag: leunga-20000409-misc
355    Description:
356    
357    1.  Yet another fix for x86 assembly for idivl, imull, mull and friends.
358    
359    2.  Miscellaneous improvements to MLRISC (unused in sml/nj)
360    
361    ----------------------------------------------------------------------
362    Name: Stefan
363    Date: 2000/04/07 10:00:00 EDT
364    Tag: monnier-20000406-branch-handling
365    Description:
366    
367    Improved handling of branches (mostly those generated from
368    polymorphic equality), removed switchoff and changed the
369    default optimization settings (more cpsopt and less flintopt).
370    
371    ----------------------------------------------------------------------
372    Name: Allen Leung
373    Date: 2000/04/06 01:30:00 EST
374    Tag: leunga-20000406-peephole-x86-SSA-2
375    Description:
376    
377       Forgot a few files.
378    
379    ----------------------------------------------------------------------
380    Name: Allen Leung
381    Date: 2000/04/06 00:36:00 EST
382    Tag: leunga-20000406-peephole-x86-SSA
383    Description:
384    
385    1.  New Peephole code
386    
387    2.  Minor improvement to X86 instruction selection
388    
389    3.  Various fixes to SSA and machine description -> code translator
390    
391    ----------------------------------------------------------------------
392    Name: Matthias Blume
393    Date: 2000/04/05 12:30:00 JST
394    Tag: blume_main_v110p26p2_3
395    Description:
396    
397    This update just merges three minor cosmetic updates to CM's sources
398    to get ready for the 110.27 code freeze on Friday.  No functionality
399    has changed.
400    
401    ----------------------------------------------------------------------
402  Name: Allen Leung  Name: Allen Leung
403  Date: 2000/04/04 19:39:00 EST  Date: 2000/04/04 19:39:00 EST
404  Tag: leunga-20000404-x86-asm  Tag: leunga-20000404-x86-asm

Legend:
Removed from v.594  
changed lines
  Added in v.644

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