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 590, Sat Apr 1 02:24:08 2000 UTC
# Line 14  Line 14 
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16  Name: Allen Leung  Name: Allen Leung
17    Date: 2000/03/31 21:15:00 EST
18    Tag: leunga-20000331-aliasing
19    Description:
20    
21    This update contains a rewritten (and hopefully more correct) module
22    for extracting aliasing information from CPS.
23    
24       To turn on this feature:
25    
26            Compiler.Control.CG.memDisambiguate := true
27    
28       To pretty print the region information with assembly
29    
30           Compiler.Control.MLRISC.getFlag "asm-show-region" := true;
31    
32       To control how many levels of aliasing information are printed, use:
33    
34           Compiler.Control.MLRISC.getInt "points-to-show-level" := n
35    
36       The default of n is 3.
37    
38    ----------------------------------------------------------------------
39    Name: David MacQueen
40    Date: 2000/03/31 11:15:00 EST
41    Tag: dbm-20000331-runtime_fix
42    Description:
43    
44    This update contains:
45    
46    1. runtime/c-lib/c-libraries.c
47       includes added in revision 1.2 caused compilation errors on hppa-hpux
48    
49    2. fix for bug 1556
50       system/Basis/Implementation/NJ/internal-signals.sml
51    
52    ----------------------------------------------------------------------
53    Name: Matthias Blume
54    Date: 2000/03/31 18:00:00 JST
55    Tag: blume_main_v110p26p2_1
56    Description:
57    
58    This update contains:
59    
60    1. A small change to CM's handling of stable libraries:
61       CM now maintains one "global" modmap that is used for all stable
62       libraries.  The use of such a global modmap maximizes sharing and
63       minimizes the need for re-traversing parts of environments during
64       modmap construction.  (However, this has minor impact since modmap
65       construction seems to account for just one percent or less of total
66       compile time.)
67    
68    2. I added a "genmap" phase to the statistics.  This is where I got the
69       "one percent" number (see above).
70    
71    3. CM's new tool parameter mechanism just became _even_ better. :)
72       - The parser understands named parameters and recursive options.
73       - The "make" and "shell" tools use these new features.
74         (This makes it a lot easier to cascade these tools.)
75       - There is a small syntax change: named parameters use a
76    
77           <name> : ( <option> ... )            or
78           <name> : <string>
79    
80         syntax.  Previously, named parameters were implemented in an
81         ad-hoc fashion by each tool individually (by parsing strings)
82         and had the form
83    
84           <name>=<string>
85    
86       See the CM manual for a full description of these issues.
87    
88    ----------------------------------------------------------------------
89    Name: Matthias Blume
90    Date: 2000/03/30 18:00:00 JST
91    Tag: blume_main_v110p26p2_0
92    Description:
93    
94    !!!!! WARNING !!!!!!
95    !!  New binfiles  !!
96    !!!!!!!!!!!!!!!!!!!!
97    
98    This update contains:
99    
100    1. Moderate changes to CM:
101    
102       - Changes to CM's tools mechanism.  In particular, it is now possible
103       to have tools that accept additional "command line" parameters
104       (specified in the .cm file at each instance where the tool's class is
105       used).
106    
107       This was done to accomodate the new "make" and "shell" tools which
108       facilitate fairly seemless hookup to portions of code managed using
109       Makefiles or Shell scripts.
110    
111       There are no classes "shared" or "private" anymore.  Instead, the
112       sharing annotation is now a parameter to the "sml" class.
113    
114       There is a bit of generic machinery for implementing one's own
115       tools that accept command-line parameters.  However, I am not yet fully
116       satisfied with that part, so expect changes here in the future.
117    
118       All existing tools are described in the CM manual.
119    
120       - Slightly better error handling.  (CM now surpresses many followup
121       error messages that tended to be more annoying than helpful.)
122    
123    2. Major changes to the compiler's static environment data structures.
124    
125       - no CMStaticEnv anymore.
126            - no CMEnv, no "BareEnvironment" (actually, _only_ BareEnvironment,
127              but it is called Environment), no conversions between different
128              kinds of static environments
129    
130       - There is still a notion of a "modmap", but such modmaps are generated
131         on demand at the time when they are needed.  This sounds slow, but I
132         sped up the code that generates modmaps enough for this not to lead to
133         a slowdown of the compiler (at least I didn't detect any).
134    
135       - To facilitate rapid modmap generation, static environments now
136         contain an (optional) "modtree" structure.  Modtree annotations are
137         constructed by the unpickler during unpickling.  (This means that
138         the elaborator does not have to worry about modtrees at all.)
139         Modtrees have the advantage that they are compositional in the same
140         way as the environment data structure itself is compositional.
141         As a result, modtrees never hang on to parts of an environment that
142         has already been rendered "stale" by filtering or rebinding.
143    
144       - I went through many, many trials and errors before arriving at the
145         current solution.  (The initial idea of "linkpaths" did not work.)
146         But the result of all this is that I have touched a lot of files that
147         depend on the "modules" and "types" data structures (most of the
148         elaborator). There were a lot of changes during my "linkpath" trials
149         that could have been reverted to their original state but weren't.
150         Please, don't be too harsh on me for messing with this code a bit more
151         than what was strictly necessary...  (I _did_ resist the tempation
152         of doing any "global reformatting" to avoid an untimely death at
153         Dave's hands. :)
154    
155       - One positive aspect of the previous point:  At least I made sure that
156         all files that I touched now compile without warnings (other than
157         "polyEqual").
158    
159       - compiler now tends to run "leaner" (i.e., ties up less memory in
160         redundant modmaps)
161    
162    ----------------------------------------------------------------------
163    Name: Allen Leung
164  Date: 2000/03/29 18:00:00  Date: 2000/03/29 18:00:00
165  Tag: leunga-20000327-mlriscGen_hppa_alpha_x86  Tag: leunga-20000327-mlriscGen_hppa_alpha_x86
166    Boot files (optional): ftp://react-ilp.cs.nyu.edu/leunga/110.26.1-sml.boot.x86-unix-20000330.tar.gz
167  Description:  Description:
168    
169     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.590

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