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

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