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 635, Tue May 2 15:09:12 2000 UTC revision 658, Mon Jun 12 02:39:37 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/06/12 11:40:00
17    Tag: blume-20000612-parmakefix
18    Description:
19    
20    More cleanup after changing the file naming scheme: This time I
21    repaired the parallel make mechanism for CMB.make which I broke earlier.
22    
23    ----------------------------------------------------------------------
24    Name: Allen Leung
25    Date: 2000/06/09 01:25:00
26    Tag: leunga-20000609-various
27    
28    None of these things should affect normal SML/NJ operations
29    
30    1. Peephole improvements provided by Fermin (c--)
31    2. New annotation DEFUSE for adding extra dependence (moby)
32    3. New X86 LOCK instructions (moby)
33    4. New machine description language for reservation tables (scheduling)
34    5. Fixes to various optimization/analysis modules (branch chaining, dominator
35       trees etc.)
36    6. I've changed the CM files so that they can work with versions
37       110.0.6, 110.25 and 110.28
38    
39    ----------------------------------------------------------------------
40    Name: Matthias Blume
41    Date: 2000/06/09 12:40:00
42    Tag: blume-20000609-log
43    Description:
44    
45    - Removed all(?) remaining RCS Log entries from sources.
46    
47    - Fixed bug in ml-yacc and ml-lex sources (use explicit anchors for
48      anchored paths).
49    
50    ----------------------------------------------------------------------
51    Name: Matthias Blume
52    Date: 2000/06/07 17:00:00 JST
53    Tag: blume-20000607-no-implicit-anchors
54    Description:
55    
56    1. This update changes the default setting for
57    CM.Control.implicit_anchors from true to false.  This means that
58    implicit anchors are no longer permitted by default.  I also tried to
59    make sure that nothing else still relies on implicit anchors.
60    (This is the next step on the schedule towards a CM that does not even
61    have the notion of implicit anchors anymore.)
62    
63    2. More CM manual updates.
64    
65    3. I managed to track down and fix the pickling bug I mentioned last
66    time.  Because of the previously existing workaround, this entails no
67    immediate practical changes.
68    
69    ----------------------------------------------------------------------
70    Name: Matthias Blume
71    Date: 2000/06/06 11:15:00 JST
72    Tag: blume-20000606-lazierpickle
73    Description:
74    
75    !!!! NEW BOOT FILES !!!!
76    
77    * The main purpose of this update is to make library pickles lazier in
78    order to reduce the initial space penalty for autoloading a library.
79    As a result, it is now possible to have $smlnj/compiler.cm
80    pre-registered.  This should take care of the many complaints or
81    inquiries about missing structure Compiler.  This required changes to
82    CM's internal data structures and small tweaks to some algorithms.
83    
84    As a neat additional effect, it is no longer necessary (for the sake
85    of lean heap image files) to distinguish between a "minimal" CM and a
86    "full" CM.  Now, there is only one CM (i.e., the "full" version:
87    $smlnj/cm.cm aka $smlnj/cm/full.cm), and it is always available at the
88    interactive top level. ($smlnj/cm/minimal.cm is gone.)
89    
90    To make the life of compiler-hackers easier, "makeml" now also
91    pre-registers $smlnj/cmb.cm (aka $smlnj/cmb/current.cm).  In other
92    words, after you bootstrap a new sml for the first time, you will not
93    have to autoload $smlnj/cmb.cm again afterwards.  (The first time
94    around you will still have to do it, though.)
95    
96    * A second change consists of major updates to the CM manual.  There
97    are now several appendices with summary information and also a full
98    specification of the CM description file syntax.
99    
100    * In directory src/system I added the script "allcross".  This script
101    invokes sml and cross-compiles the compiler for all supported
102    architectures.  (Useful when providing a new set of boot files.)
103    
104    * There seems to be a latent bug in my "lazy pickles" mechanism.  I
105    added a small tweak to pickle-util.sml to work around this problem,
106    but it is not a proper fix yet.  I will investigate further.  (The
107    effect of the bug was an inflation of library pickle size.)
108    
109    * Version number increased to 110.28.1 (to avoid compatibility problems).
110    
111    ----------------------------------------------------------------------
112    Name: Allen Leung
113    Date: 2000/05/25 17:28 EDT
114    Tag: leunga-20000525-ra
115    Description:
116    
117      Fixed a bug in freezing phase of the register allocator.
118    
119    ----------------------------------------------------------------------
120    Name: Allen Leung
121    Date: 2000/05/15 22:53 EDT
122    Tag: leunga-20000515-alpha-x86-ra
123    Description:
124    
125      1. Alpha
126    
127          Slight cleanup.  Removed the instruction SGNXL
128    
129      2. X86
130    
131          Added the following instructions to the instruction set:
132    
133            ROLx, RORx,
134            BTx, BTSx, BTLx, BTRx,
135            XCHGx, and variants with the LOCK prefix
136    
137      3. Register Allocation
138    
139          The module ra-rewrite-with-renaming has been improved.
140    
141      These have no effect on SML/NJ.
142    
143    ----------------------------------------------------------------------
144    Name: Matthias Blume
145    Date: 2000/05/15 16:20:00 JST
146    Tag: blume-20000515-lightrebuild
147    Description:
148    
149    1. I added an alternative to "-rebuild" to "makeml".  The difference is
150       that prior to calling CMB.make' the CM-variable "LIGHT" will be
151       defined.  In effect, the command will not build any cross-compiler
152       backends and therefore finish more quickly.
153    
154       The "fixpt" script also takes a "-light" switch to be able to use
155       this new facility while compiling for a fixpoint.
156    
157    2. I replaced all mentions of anchored paths in group owner specifications
158       with simple relative paths (usually starting with "..").
159       The rationale is that a library's internal workings should not be
160       compromised by the lack of some anchor.  (An anchor is necessary
161       for someone who wants to refer to the library by an anchored path,
162       but it should not be necessary to build the same library in the first
163       place.)
164    
165    3. I changed the way CM's tool mechanism determines the shell command
166       string used for things like ml-yacc etc. so that it does not break
167       when CM.Control.implicit_anchors is turned off.
168    
169    ----------------------------------------------------------------------
170    Name: Matthias Blume
171    Date: 2000/05/12 18:20:00 JST
172    Tag: blume-20000512-ml-build
173    Description:
174    
175    Fixed a bug in config/_ml-build that prevented ml-yacc and ml-lex from
176    getting installed properly (by config/install.sh).
177    
178    ----------------------------------------------------------------------
179    Name: Matthias Blume
180    Date: 2000/05/12 17:30:00 JST
181    Tag: blume-20000512-anchors
182    Description:
183    
184    !!! NEW BOOT FILES !!!
185    
186    This change is in preparation of fading out support for "implicitly
187    anchored path names".  I went through all sources and used the
188    explicit (and relatively new) $-notation.  See system/README and the
189    CM manual for more info on this.
190    
191    I also modified the anchoring scheme for some things such as "smlnj",
192    "MLRISC", "cm", etc. to take advantage of the fact that explicit
193    anchors are more expressive: anchor name and first arc do not have to
194    coincide.  This entails the following user-visible change:
195    
196    You have to write $smlnj/foo/bar instead of smlnj/foo/bar.  In
197    particular, when you fire up sml with a command-line argument, say,
198    e.g.:
199    
200       sml '$smlnj/cmb.cm'
201    
202    At the ML toplevel prompt:
203    
204       CM.autoload "$smlnj/cmb.cm";
205    
206    There is also a new controller in CM.Control that can be used to turn
207    off all remaining support for implicit anchors by saying:
208    
209        CM.autoload "$smlnj/
210        #set CM.Control.implicit_anchors false;
211    
212    This causes CM to reject implicitly anchored paths.  This is (for the
213    time being) less permissive than the "final" version where there will
214    be no more such implicit anchors and relative paths will be just that:
215    relative.
216    
217    The next step (version after next version?) will be to make the
218    default for CM.Control.implicit_anchors false.  After the dust has
219    settled, I can then produce the "final" version of this...
220    
221    Note: Since bootstrapping is a bit tricky, I provided new boot files.
222    
223    ----------------------------------------------------------------------
224    Name: Matthias Blume
225    Date: 2000/05/11 16:30:00 JST
226    Tag: blume-20000511-sources
227    Description:
228    
229    The main change is that I added function CM.sources as a generalized
230    version of the earlier CM.makedepend.  This entails the following
231    additional changes:
232    
233      - CM.makedepend has been dropped.
234    
235      - CM manual has been updated.
236    
237      - TOOLS signature and API have been changed.
238    
239    ----------------------------------------------------------------------
240    Name: Allen Leung
241    Date: 2000/05/10 21:17 EDT
242    Tag: leunga-20000510-moby-c--ssa
243    Description:
244    
245      Various bug fixes and new features for C--, Moby and MLRISC optimizations.
246    None of these affect SML/NJ.
247    
248    1. Register Allocation
249    
250        a. A new ra spilling module (ra/ra-spill-with-renaming) is implemented.
251           This module tries to remove local (i.e. basic block level) redundancies
252           during spilling.
253    
254        b. A new framework for performing region based register allocation.
255           Not yet entirely functional.
256    
257    2. X86
258    
259       a. DefUse for POP was missing the stack pointer [found by Lal]
260       b. Reload for CALL was incorrect in X86Spill [found by John]
261       c. Various fixes in X86Spill so that it can be used correctly for
262          the new spilling module.
263    
264    3. SSA/IR
265    
266       a. New module ir/dj-dataflow.sml implements elimination based
267          data flow analysis.
268    
269    4. MLRiscGen
270    
271       a. Fix for gc type annotation
272    
273    5. MDGen
274    
275       Various fixes for machine description -> ml code translation.  For ssa
276       only.
277    
278    ----------------------------------------------------------------------
279    Name: Allen Leung
280    Date: 2000/05/08 22:17 EDT
281    Tag: leunga-20000508-labexp
282    Description:
283    
284      Fermin has found a few assembly problems with constant expressions
285      generated in LabelExp.  Mostly, the problems involve extra parentheses,
286      which choke on dumb assemblers.  This is his fix.
287    
288    ----------------------------------------------------------------------
289  Name: Dave MacQueen  Name: Dave MacQueen
290  Date: 2000/04/09 14:00 EDT  Date: 2000/04/09 14:00 EDT
291  Tag: dbm-20000502-Version_110_28  Tag: dbm-20000502-Version_110_28

Legend:
Removed from v.635  
changed lines
  Added in v.658

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