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 1021, Wed Jan 16 20:33:57 2002 UTC revision 1065, Thu Feb 14 15:05:16 2002 UTC
# Line 11  Line 11 
11  Date: yyyy/mm/dd  Date: yyyy/mm/dd
12  Tag: <post-commit CVS tag>  Tag: <post-commit CVS tag>
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
256    Date: 2002/01/28 12:00:00
257    Tag: Release_110_38
258    Description:
259    
260    This time for real!!!
261    
262    ----------------------------------------------------------------------
263    Name: Matthias Blume
264    Date: 2002/01/28 10:56:00 EST
265    Tag: blume-20020128-retraction
266    Description:
267    
268    0. Retracted earlier 110.38.  (The Release_110_38 tag has been replaced
269       with blume-Release_110_38-retracted.)
270    
271    1. Fixed a problem with incorrect rounding modes in real64.sml.
272       (Thanks to Andrew Mccreight <andrew.mccreight@yale.edu>.)
273    
274    2. A bug in ml-nlffigen related to the handling of unnamed structs, unions,
275       and enums fixed.  The naming of corresponding ML identifiers should
276       now be consistent again.
277    
278    ----------------------------------------------------------------------
279    Name: Allen Leung
280    Date: 2002/01/27
281    Tag: leunga-20020127-nowhere
282    Description:
283    
284       Added a target called nowhere in the configuration scripts.
285       Enabling this will build the MLRISC 'nowhere' tool (for translating
286       programs with where-clauses into legal SML code) during installation.
287    
288    ----------------------------------------------------------------------
289    Name: Matthias Blume
290    Date: 2002/01/25 21:27:00 EST
291    Tag: blume-Release_110_38-retracted
292    Description:
293    
294    Call it a (working) release!  Version is 110.38. Bootfiles are ready.
295    
296    README will be added later.
297    
298    !!! NOTE:  Re-tagged as blume-Release_110_38-retracted. Original tag
299    (Release_110_38) removed.  Reason: Last-minute bug fixes.
300    
301    ----------------------------------------------------------------------
302    Name: Matthias Blume
303    Date: 2002/01/25
304    Tag: blume-20020125-ffi
305    Description:
306    
307    A large number of tweaks and improvements to ml-nlffi-lib and
308    ml-nlffigen:
309    
310       - ML represenation types have been streamlined
311       - getter and setter functions work with concrete values, not abstract
312         ones where possible
313       - ml-nlffigen command line more flexible (see README file there)
314       - some bugs have been fixed (hopefully)
315    
316    ----------------------------------------------------------------------
317    Name: Lal George
318    Date: 2002/01/24
319    Tag: george-20020124-risc-ra-interface
320    Description:
321    
322       There is a dramatic simplification in the interface to the
323       register allocator for RISC architectures as a result of making
324       parallel copy instructions explicit.
325    
326    ----------------------------------------------------------------------
327    Name: Matthias Blume
328    Date: 2002/01/22
329    Tag: blume-20020122-x86-ccalls
330    Description:
331    
332    Bug fix for c-calls on x86 (having to do with how char- and
333    short-arguments are being handled).
334    
335    ----------------------------------------------------------------------
336    Name: Matthias Blume
337    Date: 2002/01/21
338    Tag: blume-20020121-ff
339    Description:
340    
341    Another day of fiddling with the FFI...
342    
343    1. Bug fix/workaround:  CKIT does not complain about negative array
344       dimensions, so ml-nlffigen has to guard itself against this possibility.
345       (Otherwise a negative dimension would send it into an infinite loop.)
346    
347    2. Some of the abstract types (light objects, light pointers, most "base"
348       types) in structure C are now eqtypes.
349    
350    3. Added constructors and test functions for NULL function pointers.
351    
352    ----------------------------------------------------------------------
353    Name: Matthias Blume
354    Date: 2002/01/18
355    Tag: blume-20020118-ready-for-new-release
356    Description:
357    
358    Made config/srcarchiveurl point to a new place.  (Will provide boot
359    files shortly.)
360    
361    Maybe we christen this to be 110.38?
362    
363    ----------------------------------------------------------------------
364    Name: Matthias Blume
365    Date: 2002/01/18
366    Tag: blume-20020118-more-ffifiddle
367    Description:
368    
369    Today's FFI fiddling:
370    
371      - Provided a structure CGetSet with "convenient" versions of C.Get.* and
372        C.Set.* that use concrete (MLRep.*) arguments and results instead
373        of abstract ones.
374    
375      - Provided word-style bit operations etc. for "int" representation
376        types in MLRep.S<Foo>Bitops where <Foo> ranges over Char, Int, Short,
377        and Long.
378    
379    ----------------------------------------------------------------------
380    Name: Matthias Blume
381    Date: 2002/01/18
382    Tag: blume-20020118-use-x86-fp
383    Description:
384    
385    Now that x86-fast-fp seems to be working, I turned it back on again
386    by default.  (Seems to work fine now, even with the FFI.)
387    
388    Other than that, I added some documentation about the FFI to
389    src/ml-nlffigen/README and updated the FFI test examples in
390    src/ml-nlffi-lib/Tests/*.
391    
392    ----------------------------------------------------------------------
393    Name: Allen Leung
394    Date: 2002/01/17
395    Tag: leunga-20020117-x86-fast-fp-call
396    Description:
397    
398       1. Fixed a problem with handling return fp values when x86's fast fp
399          mode is turned on.
400    
401       2. Minor pretty printing fix for cellset.  Print %st(0) as %st(0) instead
402          of %f32.
403    
404       3. Added a constructor INT32lit to the ast of MLRISC tools.
405    
406  ----------------------------------------------------------------------  ----------------------------------------------------------------------
407  Name: Matthias Blume  Name: Matthias Blume
408  Date: 2002/01/16  Date: 2002/01/16
# Line 420  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.1021  
changed lines
  Added in v.1065

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