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 1040, Mon Jan 28 16:55:24 2002 UTC revision 1065, Thu Feb 14 15:05:16 2002 UTC
# Line 13  Line 13 
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    Name: Lal George
17    Date: 2002/02/14 09:55:27 EST 2002
18    Tag: george-20020214-isabelle-bug
19    Description:
20    
21    Fixed the MLRISC bug sent by Markus Wenzel regarding the compilation
22    of Isabelle on the x86.
23    
24    From Allen:
25    -----------
26     I've found the problem:
27    
28         in ra-core.sml, I use the counter "blocked" to keep track of the
29         true number of elements in the freeze queue.  When the counter goes
30         to zero, I skip examining the queue.  But I've messed up the
31         bookkeeping in combine():
32    
33             else ();
34             case !ucol of
35               PSEUDO => (if !cntv > 0 then
36                     (if !cntu > 0 then blocked := !blocked - 1 else ();
37                                        ^^^^^^^^^^^^^^^^^^^^^^^
38                      moveu := mergeMoveList(!movev, !moveu)
39                     )
40                  else ();
41    
42         combine() is called to coalesce two nodes u and v.
43         I think I was thinking that if the move counts of u and v are both
44         greater than zero then after they are coalesced then one node is
45         removed from the freeze queue.  Apparently I was thinking that
46         both u and v are of low degree, but that's clearly not necessarily true.
47    
48    
49    02/12/2002:
50        Here's the patch.  HOL now compiles.
51    
52        I don't know how this impact on performance (compile
53        time or runtime).  This bug caused the RA (especially on the x86)
54        to go thru the potential spill phase when there are still nodes on the
55        freeze queue.
56    
57    
58    
59    
60    ----------------------------------------------------------------------
61    Name: Matthias Blume
62    Date: 2002/02/13 22:40:00 EST
63    Tag: blume-20020213-fptr-rtti
64    Description:
65    
66    Fixed a bug in ml-nlffigen that was introduced with one of the previous
67    updates.
68    
69    ----------------------------------------------------------------------
70    Name: Matthias Blume
71    Date: 2002/02/13 16:41:00 EST
72    Tag: blume-20020213-cmlpq
73    Description:
74    
75    Added new priority queue export symbols (which have just been added to
76    smlnj-lib.cm) to CML's version of smlnj-lib.cm.  (Otherwise CML would
77    not compile and the installer would choke.)
78    
79    ----------------------------------------------------------------------
80    Name: Matthias Blume
81    Date: 2002/02/13 16:15:00 EST
82    Tag: blume-20020213-various
83    Description:
84    
85    1. More tweaks to ml-nlffigen:
86    
87       - better internal datastructures (resulting in slight speedup)
88       - "-match" option requires exact match
89       - "localized" gensym counters (untagged structs/unions nested within
90         other structs/unions or within typedefs get a fresh counter; their
91         tag will be prefixed by a concatenation of their parents' tags)
92       - bug fixes (related to calculation of transitive closure of types
93         to be included in the output)
94    
95    2. Minor Basis updates:
96    
97       - added implementations for List.collate and Option.app
98    
99    ----------------------------------------------------------------------
100    Name: Matthias Blume
101    Date: 2002/02/11 15:55:00 EST
102    Tag: blume-20020211-gensym
103    Description:
104    
105    Added a "-gensym" option to command line of ml-nlffigen.  This can be
106    used to specify a "stem" -- a string that is inserted in all "gensym'd"
107    names (ML structure names that correspond to unnamed C structs, unions,
108    and enums), so that separate runs of ml-nlffigen do not clash.
109    
110    ----------------------------------------------------------------------
111    Name: Matthias Blume
112    Date: 2002/02/11 12:05:00 EST
113    Tag: blume-20020211-gensml
114    Description:
115    
116    A quick fix for a problem with GenSML (in the pgraph-util library):
117    Make generation of toplevel "local" optional.  (Strictly speaking,
118    signature definitions within "local" are not legal SML.)
119    
120    Other than that: updates to INSTALL and cm/TODO.
121    
122    ----------------------------------------------------------------------
123    Name: Matthias Blume
124    Date: 2002/02/08 15:00:00 EST
125    Tag: blume-20020208-uniquepid
126    Description:
127    
128    0. Version number has been bumped to 110.38.1.  NEW BOOTFILES!!!
129    
130    1. The installer (config/install.sh) has gotten smarter:
131    
132         - Configuration options are a bit easier to specify now
133           (in config/targets).
134         - Bug in recognizing .tar.bz2 files fixed.
135         - Installer automatically resolves dependencies between
136           configuration options (e.g., if you ask for eXene, you will
137           also get cml -- regardless whether you asked for it or not).
138         - Installer can run in "quieter mode" by setting the environment
139           variable INSTALL_QUIETLY to "true".  "Quieter" does not mean
140           "completely silent", though.
141         - Build HashCons library as part of smlnj-lib.
142    
143    2. A new scheme for assigning persistent identifiers to compilation
144       units (and, by extension, to types etc.) has been put into place.
145       This fixes a long-standing bug where types and even dynamic values
146       can get internally confused, thereby compromising type safety
147       (abstraction) and dynamic correctness.  See
148    
149         http://cm.bell-labs.com/cm/cs/who/blume/pid-confusion.tgz
150    
151       for an example of how things could go wrong until now.
152    
153       The downside of the new scheme is that pids are not quite as
154       persistent as they used to be: CM will generate a fresh pid
155       for every compilation unit that it thinks it sees for the first
156       time.  That means that if you compile starting from a clean, fresh
157       source tree at two different times, you end up with different
158       binaries.
159    
160       Cutoff recompilation, however, has not been compromised because
161       CM keeps pid information in special caches between runs.
162    
163    ----------------------------------------------------------------------
164    Name: Lal George
165    Date: 2002/02/07 15:34:13 EST 2002
166    Tag: <none>
167    Description:
168    
169    Compilers that generate assembly code may produce  global labels
170    whose value is resolved at link time. The various peephole optimization
171    modules did not take this in account.
172    
173    TODO. The Labels.addrOf function should really return an option
174    type so that clients are forced to deal with this issue, rather
175    than an exception being raised.
176    
177    ----------------------------------------------------------------------
178    Name: Lal George
179    Date: 2002/02/06 13:55:02 EST
180    Tag: george-20020206-ra-breakup
181    Description:
182    
183    1. A bug fix from Allen.
184    
185        A typo causes extra fstp %st(0)'s to be generated at compensation
186        edges, which might cause stack underflow traps at runtime.  This
187        occurs in fft where there are extraneous fstps right before the 'into'
188        trap instruction (in this case they are harmless since none of the
189        integers overflow.)
190    
191    2. Pulled out various utility modules that were embedded in the modules
192       of the register allocator. I need these modules for other purposes, but
193       they are not complete enough to put into a library (just yet).
194    ----------------------------------------------------------------------
195    Name: Matthias Blume
196    Date: 2002/01/31 16:05:00 EST
197    Tag: blume-20020131-sparc-ccalls
198    Description:
199    
200    1. C-calls on Sparc needlessly allocated a huge chunk (96 bytes)
201       of extra stack space by mistake.  Fixed.
202    
203    2. Bug in logic of handling of command-line options in ml-nlffigen fixed.
204    
205    ----------------------------------------------------------------------
206    Name: Allen Leung
207    Date: 2002/01/30
208    Tag: leunga-20020130-nowhere-bug-fix
209    Description:
210    
211       MLRISC bug fixes:
212       1. Fixed a bindings computation bug in the 'nowhere' program generator tool.
213       2. MachineInt.fromString was negating its value.
214    
215    ----------------------------------------------------------------------
216    Name: Matthias Blume
217    Date: 2002/01/29
218    Tag: blume-20020129-INSTALL
219    Description:
220    
221    - Added somewhat detailed installation instructions (file INSTALL).
222    - Fixed curl-detection bug in config/install.sh.
223    - It is now possible to select the URL getter using the URLGETTER
224      environment variable:
225    
226          not set / "unknown"      --> automatic detection (script tries wget,
227                                       curl, and lynx)
228          "wget" / "curl" / "lynx" --> use the specified program (script "knows"
229                                       how to properly invoke them)
230          other                    --> use $URLGETTER directly, it must take
231                                       precisely two command-line arguments
232                                       (source URL and destination file name)
233    
234    ----------------------------------------------------------------------
235    Name: Matthias Blume
236    Date: 2002/01/28
237    Tag: blume-20020128-sparc-ccalls
238    Description:
239    
240    - Fixed problem with calculation of "used" registers in sparc-c-calls.
241    - Make use of the allocParam argument in sparc-c-calls.
242    
243    ----------------------------------------------------------------------
244    Name: Matthias Blume
245    Date: 2002/01/28
246    Tag: blume-20020128-allocParam
247    Description:
248    
249    John Reppy:  Changes c-calls API to accept client-callback for
250    allocating extra stack space.
251    me: Corresponding changes to mlriscGen (using a dummy argument that
252        does not change the current behavior).
253    
254    ----------------------------------------------------------------------
255  Name: Matthias Blume  Name: Matthias Blume
256  Date: 2002/01/28 12:00:00  Date: 2002/01/28 12:00:00
257  Tag: Release_110_38  Tag: Release_110_38
# Line 573  Line 812 
812    
813  ----------------------------------------------------------------------  ----------------------------------------------------------------------
814  Name: Matthias Blume  Name: Matthias Blume
 >>>>>>> 1.169  
815  Date: 2001/09/18 15:35:00 EDT  Date: 2001/09/18 15:35:00 EDT
816  Tag: blume-20010918-readme11036  Tag: blume-20010918-readme11036
817  Description:  Description:

Legend:
Removed from v.1040  
changed lines
  Added in v.1065

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