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 585, Wed Mar 29 23:55:35 2000 UTC revision 628, Tue Apr 25 21:03:34 2000 UTC
# Line 11  Line 11 
11  Date:  Date:
12  Tag: <post-commit CVS tag>  Tag: <post-commit CVS tag>
13  Description:  Description:
14    ----------------------------------------------------------------------
15    Name: Allen Leung
16    Date: 2000/04/25 17:00:00 EST
17    Tag: leunga-20000425-alpha-ra
18    Description:
19    
20    1. Alpha
21    
22        PSEUDOARITH was missing in AlphaRewrite.  This causes an endless loop
23    in C--.
24    
25    2. RA
26    
27       Added a flag "ra-dump-size" to print out the size of the flowgraph
28       and the interference graph.
29    
30    ----------------------------------------------------------------------
31    Name: Dave MacQueen
32    Date: 2000/04/25/
33    Tag: dbm-20000425-mlyacc_doc_examples
34    Description:
35      Updated mlyacc.tex sections 5 and 7 for SML '97 and CM.
36      Updated all three examples in src/ml-yacc/examples to run
37      under 110.* using CM.make.
38    
39    ----------------------------------------------------------------------
40    Name: Allen Leung
41    Date: 2000/04/20 23:04:00 EST
42    Tag: leunga-20000420-ssa-c---stuff
43    Description:
44    
45      This update synchronizes my repository with Yale's.  Most of these
46    changes, however, do not affect SML/NJ at all (the RA is an exception).
47    
48    1. Register Allocator
49    
50       a. An improvement in the interference graph construction:
51          Given a copy
52    
53                s <- t
54    
55          no interference edge between s and t is added for this definition of s.
56    
57       b. I've added two new spill heuristic modules that Fermin and I developed
58          (in the new library RA.cm). These are unused in SML/NJ but maybe
59          useful for others (Moby?)
60    
61    2. X86
62    
63       a. Various fixes in the backend provided by Fermin [C--] and Lal.
64    
65    3. Alpha
66    
67       a. Added the BSR instruction and code generation that goes with it [C--]
68       b. Other fixes too numerous to recount provided by Fermin [C--]
69    
70    4. Regmaps
71    
72       a. The regmaps are not initialized with the identity physical bindings
73          at creation time.  This is unneeded.
74    
75    5. MLRISC Optimizations
76    
77       a. The DJ-Graph module can now compute the iterated dominance frontiers
78          intersects with liveness incrementally in linear time! Woohoo!
79          This is now used in my new SSA construction algorithm.
80    
81       b. THe branch reorganization module is now smarter about linear chains of
82          basic blocks.
83    
84    
85    ----------------------------------------------------------------------
86    Name: Matthias Blume
87    Date: 2000/04/12 13:52:00 JST
88    Tag: blume_main_v110p27_1
89    Description:
90    
91    Changed install.sh script to handle archive files without version number
92    and to use "boot.<arch>-<os>" instead of "sml.boot.<arch>-<os>" for the
93    name of the boot file archive.
94    
95    ----------------------------------------------------------------------
96    Name: Dave MacQueen
97    Date: 2000/04/09 14:00 EDT
98    Tag: dbm-20000410-Version_110_27
99    Description:
100    
101    1. Updated src/compiler/TopLevel/main/version.sml to version 110.27
102    
103    2. Updated src/config/version to 110.27
104    
105    3. New boot files!
106    
107    ----------------------------------------------------------------------
108    Name: Allen Leung
109    Date: 2000/04/09 19:09:00 EST
110    Tag: leunga-20000409-misc
111    Description:
112    
113    1.  Yet another fix for x86 assembly for idivl, imull, mull and friends.
114    
115    2.  Miscellaneous improvements to MLRISC (unused in sml/nj)
116    
117    ----------------------------------------------------------------------
118    Name: Stefan
119    Date: 2000/04/07 10:00:00 EDT
120    Tag: monnier-20000406-branch-handling
121    Description:
122    
123    Improved handling of branches (mostly those generated from
124    polymorphic equality), removed switchoff and changed the
125    default optimization settings (more cpsopt and less flintopt).
126    
127    ----------------------------------------------------------------------
128    Name: Allen Leung
129    Date: 2000/04/06 01:30:00 EST
130    Tag: leunga-20000406-peephole-x86-SSA-2
131    Description:
132    
133       Forgot a few files.
134    
135    ----------------------------------------------------------------------
136    Name: Allen Leung
137    Date: 2000/04/06 00:36:00 EST
138    Tag: leunga-20000406-peephole-x86-SSA
139    Description:
140    
141    1.  New Peephole code
142    
143    2.  Minor improvement to X86 instruction selection
144    
145    3.  Various fixes to SSA and machine description -> code translator
146    
147    ----------------------------------------------------------------------
148    Name: Matthias Blume
149    Date: 2000/04/05 12:30:00 JST
150    Tag: blume_main_v110p26p2_3
151    Description:
152    
153    This update just merges three minor cosmetic updates to CM's sources
154    to get ready for the 110.27 code freeze on Friday.  No functionality
155    has changed.
156    
157    ----------------------------------------------------------------------
158    Name: Allen Leung
159    Date: 2000/04/04 19:39:00 EST
160    Tag: leunga-20000404-x86-asm
161    Description:
162    
163    1.  Fixed a problem in X86 assembly.
164    
165        Things like
166    
167           jmp %eax
168           jmp (%eax)
169    
170        should be output as
171    
172           jmp *%eax
173           jmp *(%eax)
174    
175    2.  Assembly output
176    
177          Added a new flag
178    
179              "asm-indent-copies" (default to false)
180    
181          When this flag is on, parallel copies will be indented an extra level.
182    
183    ----------------------------------------------------------------------
184    Name: Allen Leung
185    Date: 2000/04/04 03:18:00 EST
186    Tag: leunga-20000404-C--Moby
187    Description:
188    
189        All of these fixes are related to C--, Moby, and my own optimization
190        stuff; so they shouldn't affect SML/NJ.
191    
192    1.  X86
193    
194        Various fixes related floating point, and extensions.
195    
196    2.  Alpha
197    
198        Some extra patterns related to loads with signed/zero extension
199        provided by Fermin.
200    
201    3.  Assembly
202    
203        When generating assemby, resolve the value of client defined constants,
204        instead of generating symbolic values.  This is controlled by the
205        new flag "asm-resolve-constants", which is default to true.
206    
207    4.  Machine Descriptions
208    
209        a. The precedence parser was slightly broken when parsing infixr symbols.
210        b. The type generalizing code had the bound variables reversed, resulting
211           in a problem during arity raising.
212        c. Various fixes in machine descriptions.
213    
214    ----------------------------------------------------------------------
215    Name: Matthias Blume
216    Date: 2000/04/03 16:05:00 JST
217    Tag: blume_main_v110p26p2_2
218    Description:
219    
220    I eliminated coreEnv from compInfo.  Access to the "Core" structure is
221    now done via the ordinary static environment that is context to each
222    compilation unit.
223    
224    To this end, I arranged that instead of "structure Core" as "structure
225    _Core" is bound in the pervasive environment.  Core access is done via
226    _Core (which can never be accidentially rebound because _Core is not a
227    legal surface-syntax symbol).
228    
229    The current solution is much cleaner because the core environment is
230    now simply part of the pervasive environment which is part of every
231    compilation unit's context anyway.  In particular, this eliminates all
232    special-case handling that was necessary until now in order to deal
233    with dynamic and symbolic parts of the core environment.
234    
235    Remaining hackery (to bind the "magic" symbol _Core) is localized in the
236    compilation mananger's bootstrap compiler (actually: in the "init group"
237    handling).  See the comments in src/system/smlnj/init/init.cmi for
238    more details.
239    
240    I also tried to track down all mentions of "Core" (as string argument
241    to Symbol.strSymbol) in the compiler and replaced them with a
242    reference to the new CoreSym.coreSym.  Seems cleaner since the actual
243    name appears in one place only.
244    
245    Binfile and bootfile format have not changed, but the switchover from
246    the old "init.cmi" to the new one is a bit tricky, so I supplied new
247    bootfiles anyway.
248    
249    ----------------------------------------------------------------------
250    Name: Allen Leung
251    Date: 2000/04/02 21:17:00 EST
252    Tag: leunga-20000402-mltree
253    Description:
254    
255       1. Renamed the constructor CALL in MLTREE by popular demand.
256       2. Added a bunch of files from my repository.  These are currently
257          used by other non-SMLNJ backends.
258    
259    ----------------------------------------------------------------------
260    Name: Allen Leung
261    Date: 2000/03/31 21:15:00 EST
262    Tag: leunga-20000331-aliasing
263    Description:
264    
265    This update contains a rewritten (and hopefully more correct) module
266    for extracting aliasing information from CPS.
267    
268       To turn on this feature:
269    
270            Compiler.Control.CG.memDisambiguate := true
271    
272       To pretty print the region information with assembly
273    
274           Compiler.Control.MLRISC.getFlag "asm-show-region" := true;
275    
276       To control how many levels of aliasing information are printed, use:
277    
278           Compiler.Control.MLRISC.getInt "points-to-show-level" := n
279    
280       The default of n is 3.
281    
282    ----------------------------------------------------------------------
283    Name: David MacQueen
284    Date: 2000/03/31 11:15:00 EST
285    Tag: dbm-20000331-runtime_fix
286    Description:
287    
288    This update contains:
289    
290    1. runtime/c-lib/c-libraries.c
291       includes added in revision 1.2 caused compilation errors on hppa-hpux
292    
293    2. fix for bug 1556
294       system/Basis/Implementation/NJ/internal-signals.sml
295    
296    ----------------------------------------------------------------------
297    Name: Matthias Blume
298    Date: 2000/03/31 18:00:00 JST
299    Tag: blume_main_v110p26p2_1
300    Description:
301    
302    This update contains:
303    
304    1. A small change to CM's handling of stable libraries:
305       CM now maintains one "global" modmap that is used for all stable
306       libraries.  The use of such a global modmap maximizes sharing and
307       minimizes the need for re-traversing parts of environments during
308       modmap construction.  (However, this has minor impact since modmap
309       construction seems to account for just one percent or less of total
310       compile time.)
311    
312    2. I added a "genmap" phase to the statistics.  This is where I got the
313       "one percent" number (see above).
314    
315    3. CM's new tool parameter mechanism just became _even_ better. :)
316       - The parser understands named parameters and recursive options.
317       - The "make" and "shell" tools use these new features.
318         (This makes it a lot easier to cascade these tools.)
319       - There is a small syntax change: named parameters use a
320    
321           <name> : ( <option> ... )            or
322           <name> : <string>
323    
324         syntax.  Previously, named parameters were implemented in an
325         ad-hoc fashion by each tool individually (by parsing strings)
326         and had the form
327    
328           <name>=<string>
329    
330       See the CM manual for a full description of these issues.
331    
332    ----------------------------------------------------------------------
333    Name: Matthias Blume
334    Date: 2000/03/30 18:00:00 JST
335    Tag: blume_main_v110p26p2_0
336    Description:
337    
338    !!!!! WARNING !!!!!!
339    !!  New binfiles  !!
340    !!!!!!!!!!!!!!!!!!!!
341    
342    This update contains:
343    
344    1. Moderate changes to CM:
345    
346       - Changes to CM's tools mechanism.  In particular, it is now possible
347       to have tools that accept additional "command line" parameters
348       (specified in the .cm file at each instance where the tool's class is
349       used).
350    
351       This was done to accomodate the new "make" and "shell" tools which
352       facilitate fairly seemless hookup to portions of code managed using
353       Makefiles or Shell scripts.
354    
355       There are no classes "shared" or "private" anymore.  Instead, the
356       sharing annotation is now a parameter to the "sml" class.
357    
358       There is a bit of generic machinery for implementing one's own
359       tools that accept command-line parameters.  However, I am not yet fully
360       satisfied with that part, so expect changes here in the future.
361    
362       All existing tools are described in the CM manual.
363    
364       - Slightly better error handling.  (CM now surpresses many followup
365       error messages that tended to be more annoying than helpful.)
366    
367    2. Major changes to the compiler's static environment data structures.
368    
369       - no CMStaticEnv anymore.
370            - no CMEnv, no "BareEnvironment" (actually, _only_ BareEnvironment,
371              but it is called Environment), no conversions between different
372              kinds of static environments
373    
374       - There is still a notion of a "modmap", but such modmaps are generated
375         on demand at the time when they are needed.  This sounds slow, but I
376         sped up the code that generates modmaps enough for this not to lead to
377         a slowdown of the compiler (at least I didn't detect any).
378    
379       - To facilitate rapid modmap generation, static environments now
380         contain an (optional) "modtree" structure.  Modtree annotations are
381         constructed by the unpickler during unpickling.  (This means that
382         the elaborator does not have to worry about modtrees at all.)
383         Modtrees have the advantage that they are compositional in the same
384         way as the environment data structure itself is compositional.
385         As a result, modtrees never hang on to parts of an environment that
386         has already been rendered "stale" by filtering or rebinding.
387    
388       - I went through many, many trials and errors before arriving at the
389         current solution.  (The initial idea of "linkpaths" did not work.)
390         But the result of all this is that I have touched a lot of files that
391         depend on the "modules" and "types" data structures (most of the
392         elaborator). There were a lot of changes during my "linkpath" trials
393         that could have been reverted to their original state but weren't.
394         Please, don't be too harsh on me for messing with this code a bit more
395         than what was strictly necessary...  (I _did_ resist the tempation
396         of doing any "global reformatting" to avoid an untimely death at
397         Dave's hands. :)
398    
399       - One positive aspect of the previous point:  At least I made sure that
400         all files that I touched now compile without warnings (other than
401         "polyEqual").
402    
403       - compiler now tends to run "leaner" (i.e., ties up less memory in
404         redundant modmaps)
405    
406  ----------------------------------------------------------------------  ----------------------------------------------------------------------
407  Name: Allen Leung  Name: Allen Leung
408  Date: 2000/03/29 18:00:00  Date: 2000/03/29 18:00:00
409  Tag: leunga-20000327-mlriscGen_hppa_alpha_x86  Tag: leunga-20000327-mlriscGen_hppa_alpha_x86
410    Boot files (optional): ftp://react-ilp.cs.nyu.edu/leunga/110.26.1-sml.boot.x86-unix-20000330.tar.gz
411  Description:  Description:
412    
413     This update contains *MAJOR* changes to the way code is generated from CPS     This update contains *MAJOR* changes to the way code is generated from CPS

Legend:
Removed from v.585  
changed lines
  Added in v.628

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