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 592, Mon Apr 3 07:04:12 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: Matthias Blume
16    Date: 2000/04/03 16:05:00 JST
17    Tag: blume_main_v110p26p2_2
18    Description:
19    
20    I eliminated coreEnv from compInfo.  Access to the "Core" structure is
21    now done via the ordinary static environment that is context to each
22    compilation unit.
23    
24    To this end, I arranged that instead of "structure Core" as "structure
25    _Core" is bound in the pervasive environment.  Core access is done via
26    _Core (which can never be accidentially rebound because _Core is not a
27    legal surface-syntax symbol).
28    
29    The current solution is much cleaner because the core environment is
30    now simply part of the pervasive environment which is part of every
31    compilation unit's context anyway.  In particular, this eliminates all
32    special-case handling that was necessary until now in order to deal
33    with dynamic and symbolic parts of the core environment.
34    
35    Remaining hackery (to bind the "magic" symbol _Core) is localized in the
36    compilation mananger's bootstrap compiler (actually: in the "init group"
37    handling).  See the comments in src/system/smlnj/init/init.cmi for
38    more details.
39    
40    I also tried to track down all mentions of "Core" (as string argument
41    to Symbol.strSymbol) in the compiler and replaced them with a
42    reference to the new CoreSym.coreSym.  Seems cleaner since the actual
43    name appears in one place only.
44    
45    Binfile and bootfile format have not changed, but the switchover from
46    the old "init.cmi" to the new one is a bit tricky, so I supplied new
47    bootfiles anyway.
48    
49    ----------------------------------------------------------------------
50    Name: Allen Leung
51    Date: 2000/04/02 21:17:00 EST
52    Tag: leunga-20000402-mltree
53    Description:
54    
55       1. Renamed the constructor CALL in MLTREE by popular demand.
56       2. Added a bunch of files from my repository.  These are currently
57          used by other non-SMLNJ backends.
58    
59    ----------------------------------------------------------------------
60    Name: Allen Leung
61    Date: 2000/03/31 21:15:00 EST
62    Tag: leunga-20000331-aliasing
63    Description:
64    
65    This update contains a rewritten (and hopefully more correct) module
66    for extracting aliasing information from CPS.
67    
68       To turn on this feature:
69    
70            Compiler.Control.CG.memDisambiguate := true
71    
72       To pretty print the region information with assembly
73    
74           Compiler.Control.MLRISC.getFlag "asm-show-region" := true;
75    
76       To control how many levels of aliasing information are printed, use:
77    
78           Compiler.Control.MLRISC.getInt "points-to-show-level" := n
79    
80       The default of n is 3.
81    
82    ----------------------------------------------------------------------
83    Name: David MacQueen
84    Date: 2000/03/31 11:15:00 EST
85    Tag: dbm-20000331-runtime_fix
86    Description:
87    
88    This update contains:
89    
90    1. runtime/c-lib/c-libraries.c
91       includes added in revision 1.2 caused compilation errors on hppa-hpux
92    
93    2. fix for bug 1556
94       system/Basis/Implementation/NJ/internal-signals.sml
95    
96    ----------------------------------------------------------------------
97    Name: Matthias Blume
98    Date: 2000/03/31 18:00:00 JST
99    Tag: blume_main_v110p26p2_1
100    Description:
101    
102    This update contains:
103    
104    1. A small change to CM's handling of stable libraries:
105       CM now maintains one "global" modmap that is used for all stable
106       libraries.  The use of such a global modmap maximizes sharing and
107       minimizes the need for re-traversing parts of environments during
108       modmap construction.  (However, this has minor impact since modmap
109       construction seems to account for just one percent or less of total
110       compile time.)
111    
112    2. I added a "genmap" phase to the statistics.  This is where I got the
113       "one percent" number (see above).
114    
115    3. CM's new tool parameter mechanism just became _even_ better. :)
116       - The parser understands named parameters and recursive options.
117       - The "make" and "shell" tools use these new features.
118         (This makes it a lot easier to cascade these tools.)
119       - There is a small syntax change: named parameters use a
120    
121           <name> : ( <option> ... )            or
122           <name> : <string>
123    
124         syntax.  Previously, named parameters were implemented in an
125         ad-hoc fashion by each tool individually (by parsing strings)
126         and had the form
127    
128           <name>=<string>
129    
130       See the CM manual for a full description of these issues.
131    
132    ----------------------------------------------------------------------
133    Name: Matthias Blume
134    Date: 2000/03/30 18:00:00 JST
135    Tag: blume_main_v110p26p2_0
136    Description:
137    
138    !!!!! WARNING !!!!!!
139    !!  New binfiles  !!
140    !!!!!!!!!!!!!!!!!!!!
141    
142    This update contains:
143    
144    1. Moderate changes to CM:
145    
146       - Changes to CM's tools mechanism.  In particular, it is now possible
147       to have tools that accept additional "command line" parameters
148       (specified in the .cm file at each instance where the tool's class is
149       used).
150    
151       This was done to accomodate the new "make" and "shell" tools which
152       facilitate fairly seemless hookup to portions of code managed using
153       Makefiles or Shell scripts.
154    
155       There are no classes "shared" or "private" anymore.  Instead, the
156       sharing annotation is now a parameter to the "sml" class.
157    
158       There is a bit of generic machinery for implementing one's own
159       tools that accept command-line parameters.  However, I am not yet fully
160       satisfied with that part, so expect changes here in the future.
161    
162       All existing tools are described in the CM manual.
163    
164       - Slightly better error handling.  (CM now surpresses many followup
165       error messages that tended to be more annoying than helpful.)
166    
167    2. Major changes to the compiler's static environment data structures.
168    
169       - no CMStaticEnv anymore.
170            - no CMEnv, no "BareEnvironment" (actually, _only_ BareEnvironment,
171              but it is called Environment), no conversions between different
172              kinds of static environments
173    
174       - There is still a notion of a "modmap", but such modmaps are generated
175         on demand at the time when they are needed.  This sounds slow, but I
176         sped up the code that generates modmaps enough for this not to lead to
177         a slowdown of the compiler (at least I didn't detect any).
178    
179       - To facilitate rapid modmap generation, static environments now
180         contain an (optional) "modtree" structure.  Modtree annotations are
181         constructed by the unpickler during unpickling.  (This means that
182         the elaborator does not have to worry about modtrees at all.)
183         Modtrees have the advantage that they are compositional in the same
184         way as the environment data structure itself is compositional.
185         As a result, modtrees never hang on to parts of an environment that
186         has already been rendered "stale" by filtering or rebinding.
187    
188       - I went through many, many trials and errors before arriving at the
189         current solution.  (The initial idea of "linkpaths" did not work.)
190         But the result of all this is that I have touched a lot of files that
191         depend on the "modules" and "types" data structures (most of the
192         elaborator). There were a lot of changes during my "linkpath" trials
193         that could have been reverted to their original state but weren't.
194         Please, don't be too harsh on me for messing with this code a bit more
195         than what was strictly necessary...  (I _did_ resist the tempation
196         of doing any "global reformatting" to avoid an untimely death at
197         Dave's hands. :)
198    
199       - One positive aspect of the previous point:  At least I made sure that
200         all files that I touched now compile without warnings (other than
201         "polyEqual").
202    
203       - compiler now tends to run "leaner" (i.e., ties up less memory in
204         redundant modmaps)
205    
206  ----------------------------------------------------------------------  ----------------------------------------------------------------------
207  Name: Allen Leung  Name: Allen Leung
208  Date: 2000/03/29 18:00:00  Date: 2000/03/29 18:00:00
209  Tag: leunga-20000327-mlriscGen_hppa_alpha_x86  Tag: leunga-20000327-mlriscGen_hppa_alpha_x86
210    Boot files (optional): ftp://react-ilp.cs.nyu.edu/leunga/110.26.1-sml.boot.x86-unix-20000330.tar.gz
211  Description:  Description:
212    
213     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.592

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