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

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

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