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 1025, Thu Jan 17 20:31:51 2002 UTC revision 1073, Fri Feb 15 22:07:38 2002 UTC
# Line 13  Line 13 
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    Name: Matthias Blume
17    Date: 2002/02/15 17:05:00
18    Tag: Release_110_39
19    Description:
20    
21    Last-minute retagging is becoming a tradition... :-(
22    
23    This is the working release 110.39.
24    
25    ----------------------------------------------------------------------
26    Name: Matthias Blume
27    Date: 2002/02/15 16:00:00 EST
28    Tag: Release_110_39-orig
29    Description:
30    
31    Working release 110.39.  New bootfiles.
32    
33    (Update: There was a small bug in the installer so it wouldn't work
34    with all shells.  So I retagged. -Matthias)
35    
36    ----------------------------------------------------------------------
37    Name: Matthias Blume
38    Date: 2002/02/15 14:17:00 EST
39    Tag: blume-20020215-showbindings
40    Description:
41    
42    Added EnvRef.listBoundSymbols and CM.State.showBindings.  Especially
43    the latter can be useful for exploring what bindings are available at
44    the interactive prompt.  (The first function returns only the list
45    of symbols that are really bound, the second prints those but also the
46    ones that CM's autoloading mechanism knows about.)
47    
48    ----------------------------------------------------------------------
49    Name: Matthias Blume
50    Date: 2002/02/15 12:08:00 EST
51    Tag: blume-20020215-iptrs
52    Description:
53    
54    Two improvements to ml-nlffigen:
55    
56      1. Write files only if they do not exist or if their current contents
57         do not coincide with what's being written.  (That is, avoid messing
58         with the time stamps unless absolutely necessary.)
59    
60      2. Implement a "repository" mechanism for generated files related
61         to "incomplete pointer types".   See the README file for details.
62    
63    ----------------------------------------------------------------------
64    Name: Matthias Blume
65    Date: 2002/02/14 11:50:00 EST
66    Tag: blume-20020214-quote
67    Description:
68    
69    Added a type 't t_' to tag.sml (in ml-nlffi-lib.cm).  This is required
70    because of the new and improved tag generation scheme.  (Thanks to Allen
71    Leung for pointing it out.)
72    
73    ----------------------------------------------------------------------
74    Name: Lal George
75    Date: 2002/02/14 09:55:27 EST 2002
76    Tag: george-20020214-isabelle-bug
77    Description:
78    
79    Fixed the MLRISC bug sent by Markus Wenzel regarding the compilation
80    of Isabelle on the x86.
81    
82    From Allen:
83    -----------
84     I've found the problem:
85    
86         in ra-core.sml, I use the counter "blocked" to keep track of the
87         true number of elements in the freeze queue.  When the counter goes
88         to zero, I skip examining the queue.  But I've messed up the
89         bookkeeping in combine():
90    
91             else ();
92             case !ucol of
93               PSEUDO => (if !cntv > 0 then
94                     (if !cntu > 0 then blocked := !blocked - 1 else ();
95                                        ^^^^^^^^^^^^^^^^^^^^^^^
96                      moveu := mergeMoveList(!movev, !moveu)
97                     )
98                  else ();
99    
100         combine() is called to coalesce two nodes u and v.
101         I think I was thinking that if the move counts of u and v are both
102         greater than zero then after they are coalesced then one node is
103         removed from the freeze queue.  Apparently I was thinking that
104         both u and v are of low degree, but that's clearly not necessarily true.
105    
106    
107    02/12/2002:
108        Here's the patch.  HOL now compiles.
109    
110        I don't know how this impact on performance (compile
111        time or runtime).  This bug caused the RA (especially on the x86)
112        to go thru the potential spill phase when there are still nodes on the
113        freeze queue.
114    
115    
116    
117    
118    ----------------------------------------------------------------------
119    Name: Matthias Blume
120    Date: 2002/02/13 22:40:00 EST
121    Tag: blume-20020213-fptr-rtti
122    Description:
123    
124    Fixed a bug in ml-nlffigen that was introduced with one of the previous
125    updates.
126    
127    ----------------------------------------------------------------------
128    Name: Matthias Blume
129    Date: 2002/02/13 16:41:00 EST
130    Tag: blume-20020213-cmlpq
131    Description:
132    
133    Added new priority queue export symbols (which have just been added to
134    smlnj-lib.cm) to CML's version of smlnj-lib.cm.  (Otherwise CML would
135    not compile and the installer would choke.)
136    
137    ----------------------------------------------------------------------
138    Name: Matthias Blume
139    Date: 2002/02/13 16:15:00 EST
140    Tag: blume-20020213-various
141    Description:
142    
143    1. More tweaks to ml-nlffigen:
144    
145       - better internal datastructures (resulting in slight speedup)
146       - "-match" option requires exact match
147       - "localized" gensym counters (untagged structs/unions nested within
148         other structs/unions or within typedefs get a fresh counter; their
149         tag will be prefixed by a concatenation of their parents' tags)
150       - bug fixes (related to calculation of transitive closure of types
151         to be included in the output)
152    
153    2. Minor Basis updates:
154    
155       - added implementations for List.collate and Option.app
156    
157    ----------------------------------------------------------------------
158    Name: Matthias Blume
159    Date: 2002/02/11 15:55:00 EST
160    Tag: blume-20020211-gensym
161    Description:
162    
163    Added a "-gensym" option to command line of ml-nlffigen.  This can be
164    used to specify a "stem" -- a string that is inserted in all "gensym'd"
165    names (ML structure names that correspond to unnamed C structs, unions,
166    and enums), so that separate runs of ml-nlffigen do not clash.
167    
168    ----------------------------------------------------------------------
169    Name: Matthias Blume
170    Date: 2002/02/11 12:05:00 EST
171    Tag: blume-20020211-gensml
172    Description:
173    
174    A quick fix for a problem with GenSML (in the pgraph-util library):
175    Make generation of toplevel "local" optional.  (Strictly speaking,
176    signature definitions within "local" are not legal SML.)
177    
178    Other than that: updates to INSTALL and cm/TODO.
179    
180    ----------------------------------------------------------------------
181    Name: Matthias Blume
182    Date: 2002/02/08 15:00:00 EST
183    Tag: blume-20020208-uniquepid
184    Description:
185    
186    0. Version number has been bumped to 110.38.1.  NEW BOOTFILES!!!
187    
188    1. The installer (config/install.sh) has gotten smarter:
189    
190         - Configuration options are a bit easier to specify now
191           (in config/targets).
192         - Bug in recognizing .tar.bz2 files fixed.
193         - Installer automatically resolves dependencies between
194           configuration options (e.g., if you ask for eXene, you will
195           also get cml -- regardless whether you asked for it or not).
196         - Installer can run in "quieter mode" by setting the environment
197           variable INSTALL_QUIETLY to "true".  "Quieter" does not mean
198           "completely silent", though.
199         - Build HashCons library as part of smlnj-lib.
200    
201    2. A new scheme for assigning persistent identifiers to compilation
202       units (and, by extension, to types etc.) has been put into place.
203       This fixes a long-standing bug where types and even dynamic values
204       can get internally confused, thereby compromising type safety
205       (abstraction) and dynamic correctness.  See
206    
207         http://cm.bell-labs.com/cm/cs/who/blume/pid-confusion.tgz
208    
209       for an example of how things could go wrong until now.
210    
211       The downside of the new scheme is that pids are not quite as
212       persistent as they used to be: CM will generate a fresh pid
213       for every compilation unit that it thinks it sees for the first
214       time.  That means that if you compile starting from a clean, fresh
215       source tree at two different times, you end up with different
216       binaries.
217    
218       Cutoff recompilation, however, has not been compromised because
219       CM keeps pid information in special caches between runs.
220    
221    ----------------------------------------------------------------------
222    Name: Lal George
223    Date: 2002/02/07 15:34:13 EST 2002
224    Tag: <none>
225    Description:
226    
227    Compilers that generate assembly code may produce  global labels
228    whose value is resolved at link time. The various peephole optimization
229    modules did not take this in account.
230    
231    TODO. The Labels.addrOf function should really return an option
232    type so that clients are forced to deal with this issue, rather
233    than an exception being raised.
234    
235    ----------------------------------------------------------------------
236    Name: Lal George
237    Date: 2002/02/06 13:55:02 EST
238    Tag: george-20020206-ra-breakup
239    Description:
240    
241    1. A bug fix from Allen.
242    
243        A typo causes extra fstp %st(0)'s to be generated at compensation
244        edges, which might cause stack underflow traps at runtime.  This
245        occurs in fft where there are extraneous fstps right before the 'into'
246        trap instruction (in this case they are harmless since none of the
247        integers overflow.)
248    
249    2. Pulled out various utility modules that were embedded in the modules
250       of the register allocator. I need these modules for other purposes, but
251       they are not complete enough to put into a library (just yet).
252    ----------------------------------------------------------------------
253    Name: Matthias Blume
254    Date: 2002/01/31 16:05:00 EST
255    Tag: blume-20020131-sparc-ccalls
256    Description:
257    
258    1. C-calls on Sparc needlessly allocated a huge chunk (96 bytes)
259       of extra stack space by mistake.  Fixed.
260    
261    2. Bug in logic of handling of command-line options in ml-nlffigen fixed.
262    
263    ----------------------------------------------------------------------
264    Name: Allen Leung
265    Date: 2002/01/30
266    Tag: leunga-20020130-nowhere-bug-fix
267    Description:
268    
269       MLRISC bug fixes:
270       1. Fixed a bindings computation bug in the 'nowhere' program generator tool.
271       2. MachineInt.fromString was negating its value.
272    
273    ----------------------------------------------------------------------
274    Name: Matthias Blume
275    Date: 2002/01/29
276    Tag: blume-20020129-INSTALL
277    Description:
278    
279    - Added somewhat detailed installation instructions (file INSTALL).
280    - Fixed curl-detection bug in config/install.sh.
281    - It is now possible to select the URL getter using the URLGETTER
282      environment variable:
283    
284          not set / "unknown"      --> automatic detection (script tries wget,
285                                       curl, and lynx)
286          "wget" / "curl" / "lynx" --> use the specified program (script "knows"
287                                       how to properly invoke them)
288          other                    --> use $URLGETTER directly, it must take
289                                       precisely two command-line arguments
290                                       (source URL and destination file name)
291    
292    ----------------------------------------------------------------------
293    Name: Matthias Blume
294    Date: 2002/01/28
295    Tag: blume-20020128-sparc-ccalls
296    Description:
297    
298    - Fixed problem with calculation of "used" registers in sparc-c-calls.
299    - Make use of the allocParam argument in sparc-c-calls.
300    
301    ----------------------------------------------------------------------
302    Name: Matthias Blume
303    Date: 2002/01/28
304    Tag: blume-20020128-allocParam
305    Description:
306    
307    John Reppy:  Changes c-calls API to accept client-callback for
308    allocating extra stack space.
309    me: Corresponding changes to mlriscGen (using a dummy argument that
310        does not change the current behavior).
311    
312    ----------------------------------------------------------------------
313    Name: Matthias Blume
314    Date: 2002/01/28 12:00:00
315    Tag: Release_110_38
316    Description:
317    
318    This time for real!!!
319    
320    ----------------------------------------------------------------------
321    Name: Matthias Blume
322    Date: 2002/01/28 10:56:00 EST
323    Tag: blume-20020128-retraction
324    Description:
325    
326    0. Retracted earlier 110.38.  (The Release_110_38 tag has been replaced
327       with blume-Release_110_38-retracted.)
328    
329    1. Fixed a problem with incorrect rounding modes in real64.sml.
330       (Thanks to Andrew Mccreight <andrew.mccreight@yale.edu>.)
331    
332    2. A bug in ml-nlffigen related to the handling of unnamed structs, unions,
333       and enums fixed.  The naming of corresponding ML identifiers should
334       now be consistent again.
335    
336    ----------------------------------------------------------------------
337    Name: Allen Leung
338    Date: 2002/01/27
339    Tag: leunga-20020127-nowhere
340    Description:
341    
342       Added a target called nowhere in the configuration scripts.
343       Enabling this will build the MLRISC 'nowhere' tool (for translating
344       programs with where-clauses into legal SML code) during installation.
345    
346    ----------------------------------------------------------------------
347    Name: Matthias Blume
348    Date: 2002/01/25 21:27:00 EST
349    Tag: blume-Release_110_38-retracted
350    Description:
351    
352    Call it a (working) release!  Version is 110.38. Bootfiles are ready.
353    
354    README will be added later.
355    
356    !!! NOTE:  Re-tagged as blume-Release_110_38-retracted. Original tag
357    (Release_110_38) removed.  Reason: Last-minute bug fixes.
358    
359    ----------------------------------------------------------------------
360    Name: Matthias Blume
361    Date: 2002/01/25
362    Tag: blume-20020125-ffi
363    Description:
364    
365    A large number of tweaks and improvements to ml-nlffi-lib and
366    ml-nlffigen:
367    
368       - ML represenation types have been streamlined
369       - getter and setter functions work with concrete values, not abstract
370         ones where possible
371       - ml-nlffigen command line more flexible (see README file there)
372       - some bugs have been fixed (hopefully)
373    
374    ----------------------------------------------------------------------
375    Name: Lal George
376    Date: 2002/01/24
377    Tag: george-20020124-risc-ra-interface
378    Description:
379    
380       There is a dramatic simplification in the interface to the
381       register allocator for RISC architectures as a result of making
382       parallel copy instructions explicit.
383    
384    ----------------------------------------------------------------------
385    Name: Matthias Blume
386    Date: 2002/01/22
387    Tag: blume-20020122-x86-ccalls
388    Description:
389    
390    Bug fix for c-calls on x86 (having to do with how char- and
391    short-arguments are being handled).
392    
393    ----------------------------------------------------------------------
394    Name: Matthias Blume
395    Date: 2002/01/21
396    Tag: blume-20020121-ff
397    Description:
398    
399    Another day of fiddling with the FFI...
400    
401    1. Bug fix/workaround:  CKIT does not complain about negative array
402       dimensions, so ml-nlffigen has to guard itself against this possibility.
403       (Otherwise a negative dimension would send it into an infinite loop.)
404    
405    2. Some of the abstract types (light objects, light pointers, most "base"
406       types) in structure C are now eqtypes.
407    
408    3. Added constructors and test functions for NULL function pointers.
409    
410    ----------------------------------------------------------------------
411    Name: Matthias Blume
412    Date: 2002/01/18
413    Tag: blume-20020118-ready-for-new-release
414    Description:
415    
416    Made config/srcarchiveurl point to a new place.  (Will provide boot
417    files shortly.)
418    
419    Maybe we christen this to be 110.38?
420    
421    ----------------------------------------------------------------------
422    Name: Matthias Blume
423    Date: 2002/01/18
424    Tag: blume-20020118-more-ffifiddle
425    Description:
426    
427    Today's FFI fiddling:
428    
429      - Provided a structure CGetSet with "convenient" versions of C.Get.* and
430        C.Set.* that use concrete (MLRep.*) arguments and results instead
431        of abstract ones.
432    
433      - Provided word-style bit operations etc. for "int" representation
434        types in MLRep.S<Foo>Bitops where <Foo> ranges over Char, Int, Short,
435        and Long.
436    
437    ----------------------------------------------------------------------
438    Name: Matthias Blume
439    Date: 2002/01/18
440    Tag: blume-20020118-use-x86-fp
441    Description:
442    
443    Now that x86-fast-fp seems to be working, I turned it back on again
444    by default.  (Seems to work fine now, even with the FFI.)
445    
446    Other than that, I added some documentation about the FFI to
447    src/ml-nlffigen/README and updated the FFI test examples in
448    src/ml-nlffi-lib/Tests/*.
449    
450    ----------------------------------------------------------------------
451  Name: Allen Leung  Name: Allen Leung
452  Date: 2002/01/17  Date: 2002/01/17
453  Tag: leunga-20020117-x86-fast-fp-call  Tag: leunga-20020117-x86-fast-fp-call
# Line 435  Line 870 
870    
871  ----------------------------------------------------------------------  ----------------------------------------------------------------------
872  Name: Matthias Blume  Name: Matthias Blume
 >>>>>>> 1.169  
873  Date: 2001/09/18 15:35:00 EDT  Date: 2001/09/18 15:35:00 EDT
874  Tag: blume-20010918-readme11036  Tag: blume-20010918-readme11036
875  Description:  Description:

Legend:
Removed from v.1025  
changed lines
  Added in v.1073

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