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

Legend:
Removed from v.586  
changed lines
  Added in v.606

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