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 1003, Fri Dec 7 02:45:32 2001 UTC revision 1060, Mon Feb 11 20:55:09 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: Matthias Blume
17    Date: 2002/02/11 15:55:00 EST
18    Tag: blume-20020211-gensym
19    Description:
20    
21    Added a "-gensym" option to command line of ml-nlffigen.  This can be
22    used to specify a "stem" -- a string that is inserted in all "gensym'd"
23    names (ML structure names that correspond to unnamed C structs, unions,
24    and enums), so that separate runs of ml-nlffigen do not clash.
25    
26    ----------------------------------------------------------------------
27    Name: Matthias Blume
28    Date: 2002/02/11 12:05:00 EST
29    Tag: blume-20020211-gensml
30    Description:
31    
32    A quick fix for a problem with GenSML (in the pgraph-util library):
33    Make generation of toplevel "local" optional.  (Strictly speaking,
34    signature definitions within "local" are not legal SML.)
35    
36    Other than that: updates to INSTALL and cm/TODO.
37    
38    ----------------------------------------------------------------------
39    Name: Matthias Blume
40    Date: 2002/02/08 15:00:00 EST
41    Tag: blume-20020208-uniquepid
42    Description:
43    
44    0. Version number has been bumped to 110.38.1.  NEW BOOTFILES!!!
45    
46    1. The installer (config/install.sh) has gotten smarter:
47    
48         - Configuration options are a bit easier to specify now
49           (in config/targets).
50         - Bug in recognizing .tar.bz2 files fixed.
51         - Installer automatically resolves dependencies between
52           configuration options (e.g., if you ask for eXene, you will
53           also get cml -- regardless whether you asked for it or not).
54         - Installer can run in "quieter mode" by setting the environment
55           variable INSTALL_QUIETLY to "true".  "Quieter" does not mean
56           "completely silent", though.
57         - Build HashCons library as part of smlnj-lib.
58    
59    2. A new scheme for assigning persistent identifiers to compilation
60       units (and, by extension, to types etc.) has been put into place.
61       This fixes a long-standing bug where types and even dynamic values
62       can get internally confused, thereby compromising type safety
63       (abstraction) and dynamic correctness.  See
64    
65         http://cm.bell-labs.com/cm/cs/who/blume/pid-confusion.tgz
66    
67       for an example of how things could go wrong until now.
68    
69       The downside of the new scheme is that pids are not quite as
70       persistent as they used to be: CM will generate a fresh pid
71       for every compilation unit that it thinks it sees for the first
72       time.  That means that if you compile starting from a clean, fresh
73       source tree at two different times, you end up with different
74       binaries.
75    
76       Cutoff recompilation, however, has not been compromised because
77       CM keeps pid information in special caches between runs.
78    
79    ----------------------------------------------------------------------
80    Name: Lal George
81    Date: 2002/02/07 15:34:13 EST 2002
82    Tag: <none>
83    Description:
84    
85    Compilers that generate assembly code may produce  global labels
86    whose value is resolved at link time. The various peephole optimization
87    modules did not take this in account.
88    
89    TODO. The Labels.addrOf function should really return an option
90    type so that clients are forced to deal with this issue, rather
91    than an exception being raised.
92    
93    ----------------------------------------------------------------------
94    Name: Lal George
95    Date: 2002/02/06 13:55:02 EST
96    Tag: george-20020206-ra-breakup
97    Description:
98    
99    1. A bug fix from Allen.
100    
101        A typo causes extra fstp %st(0)'s to be generated at compensation
102        edges, which might cause stack underflow traps at runtime.  This
103        occurs in fft where there are extraneous fstps right before the 'into'
104        trap instruction (in this case they are harmless since none of the
105        integers overflow.)
106    
107    2. Pulled out various utility modules that were embedded in the modules
108       of the register allocator. I need these modules for other purposes, but
109       they are not complete enough to put into a library (just yet).
110    ----------------------------------------------------------------------
111    Name: Matthias Blume
112    Date: 2002/01/31 16:05:00 EST
113    Tag: blume-20020131-sparc-ccalls
114    Description:
115    
116    1. C-calls on Sparc needlessly allocated a huge chunk (96 bytes)
117       of extra stack space by mistake.  Fixed.
118    
119    2. Bug in logic of handling of command-line options in ml-nlffigen fixed.
120    
121    ----------------------------------------------------------------------
122    Name: Allen Leung
123    Date: 2002/01/30
124    Tag: leunga-20020130-nowhere-bug-fix
125    Description:
126    
127       MLRISC bug fixes:
128       1. Fixed a bindings computation bug in the 'nowhere' program generator tool.
129       2. MachineInt.fromString was negating its value.
130    
131    ----------------------------------------------------------------------
132    Name: Matthias Blume
133    Date: 2002/01/29
134    Tag: blume-20020129-INSTALL
135    Description:
136    
137    - Added somewhat detailed installation instructions (file INSTALL).
138    - Fixed curl-detection bug in config/install.sh.
139    - It is now possible to select the URL getter using the URLGETTER
140      environment variable:
141    
142          not set / "unknown"      --> automatic detection (script tries wget,
143                                       curl, and lynx)
144          "wget" / "curl" / "lynx" --> use the specified program (script "knows"
145                                       how to properly invoke them)
146          other                    --> use $URLGETTER directly, it must take
147                                       precisely two command-line arguments
148                                       (source URL and destination file name)
149    
150    ----------------------------------------------------------------------
151    Name: Matthias Blume
152    Date: 2002/01/28
153    Tag: blume-20020128-sparc-ccalls
154    Description:
155    
156    - Fixed problem with calculation of "used" registers in sparc-c-calls.
157    - Make use of the allocParam argument in sparc-c-calls.
158    
159    ----------------------------------------------------------------------
160    Name: Matthias Blume
161    Date: 2002/01/28
162    Tag: blume-20020128-allocParam
163    Description:
164    
165    John Reppy:  Changes c-calls API to accept client-callback for
166    allocating extra stack space.
167    me: Corresponding changes to mlriscGen (using a dummy argument that
168        does not change the current behavior).
169    
170    ----------------------------------------------------------------------
171    Name: Matthias Blume
172    Date: 2002/01/28 12:00:00
173    Tag: Release_110_38
174    Description:
175    
176    This time for real!!!
177    
178    ----------------------------------------------------------------------
179    Name: Matthias Blume
180    Date: 2002/01/28 10:56:00 EST
181    Tag: blume-20020128-retraction
182    Description:
183    
184    0. Retracted earlier 110.38.  (The Release_110_38 tag has been replaced
185       with blume-Release_110_38-retracted.)
186    
187    1. Fixed a problem with incorrect rounding modes in real64.sml.
188       (Thanks to Andrew Mccreight <andrew.mccreight@yale.edu>.)
189    
190    2. A bug in ml-nlffigen related to the handling of unnamed structs, unions,
191       and enums fixed.  The naming of corresponding ML identifiers should
192       now be consistent again.
193    
194    ----------------------------------------------------------------------
195    Name: Allen Leung
196    Date: 2002/01/27
197    Tag: leunga-20020127-nowhere
198    Description:
199    
200       Added a target called nowhere in the configuration scripts.
201       Enabling this will build the MLRISC 'nowhere' tool (for translating
202       programs with where-clauses into legal SML code) during installation.
203    
204    ----------------------------------------------------------------------
205    Name: Matthias Blume
206    Date: 2002/01/25 21:27:00 EST
207    Tag: blume-Release_110_38-retracted
208    Description:
209    
210    Call it a (working) release!  Version is 110.38. Bootfiles are ready.
211    
212    README will be added later.
213    
214    !!! NOTE:  Re-tagged as blume-Release_110_38-retracted. Original tag
215    (Release_110_38) removed.  Reason: Last-minute bug fixes.
216    
217    ----------------------------------------------------------------------
218    Name: Matthias Blume
219    Date: 2002/01/25
220    Tag: blume-20020125-ffi
221    Description:
222    
223    A large number of tweaks and improvements to ml-nlffi-lib and
224    ml-nlffigen:
225    
226       - ML represenation types have been streamlined
227       - getter and setter functions work with concrete values, not abstract
228         ones where possible
229       - ml-nlffigen command line more flexible (see README file there)
230       - some bugs have been fixed (hopefully)
231    
232    ----------------------------------------------------------------------
233    Name: Lal George
234    Date: 2002/01/24
235    Tag: george-20020124-risc-ra-interface
236    Description:
237    
238       There is a dramatic simplification in the interface to the
239       register allocator for RISC architectures as a result of making
240       parallel copy instructions explicit.
241    
242    ----------------------------------------------------------------------
243    Name: Matthias Blume
244    Date: 2002/01/22
245    Tag: blume-20020122-x86-ccalls
246    Description:
247    
248    Bug fix for c-calls on x86 (having to do with how char- and
249    short-arguments are being handled).
250    
251    ----------------------------------------------------------------------
252    Name: Matthias Blume
253    Date: 2002/01/21
254    Tag: blume-20020121-ff
255    Description:
256    
257    Another day of fiddling with the FFI...
258    
259    1. Bug fix/workaround:  CKIT does not complain about negative array
260       dimensions, so ml-nlffigen has to guard itself against this possibility.
261       (Otherwise a negative dimension would send it into an infinite loop.)
262    
263    2. Some of the abstract types (light objects, light pointers, most "base"
264       types) in structure C are now eqtypes.
265    
266    3. Added constructors and test functions for NULL function pointers.
267    
268    ----------------------------------------------------------------------
269    Name: Matthias Blume
270    Date: 2002/01/18
271    Tag: blume-20020118-ready-for-new-release
272    Description:
273    
274    Made config/srcarchiveurl point to a new place.  (Will provide boot
275    files shortly.)
276    
277    Maybe we christen this to be 110.38?
278    
279    ----------------------------------------------------------------------
280    Name: Matthias Blume
281    Date: 2002/01/18
282    Tag: blume-20020118-more-ffifiddle
283    Description:
284    
285    Today's FFI fiddling:
286    
287      - Provided a structure CGetSet with "convenient" versions of C.Get.* and
288        C.Set.* that use concrete (MLRep.*) arguments and results instead
289        of abstract ones.
290    
291      - Provided word-style bit operations etc. for "int" representation
292        types in MLRep.S<Foo>Bitops where <Foo> ranges over Char, Int, Short,
293        and Long.
294    
295    ----------------------------------------------------------------------
296    Name: Matthias Blume
297    Date: 2002/01/18
298    Tag: blume-20020118-use-x86-fp
299    Description:
300    
301    Now that x86-fast-fp seems to be working, I turned it back on again
302    by default.  (Seems to work fine now, even with the FFI.)
303    
304    Other than that, I added some documentation about the FFI to
305    src/ml-nlffigen/README and updated the FFI test examples in
306    src/ml-nlffi-lib/Tests/*.
307    
308    ----------------------------------------------------------------------
309    Name: Allen Leung
310    Date: 2002/01/17
311    Tag: leunga-20020117-x86-fast-fp-call
312    Description:
313    
314       1. Fixed a problem with handling return fp values when x86's fast fp
315          mode is turned on.
316    
317       2. Minor pretty printing fix for cellset.  Print %st(0) as %st(0) instead
318          of %f32.
319    
320       3. Added a constructor INT32lit to the ast of MLRISC tools.
321    
322    ----------------------------------------------------------------------
323    Name: Matthias Blume
324    Date: 2002/01/16
325    Tag: blume-20020116-ffifiddle
326    Description:
327    
328    More fiddling with the FFI interface:
329    
330     - Make constness 'c instead of rw wherever possible.  This eliminates
331       the need for certain explicit coercions.  (However, due to ML's
332       value polymorphism, there will still be many cases where explicit
333       coercions are necessary.  Phantom types are not the whole answer
334       to modeling a subtyping relationship in ML.)
335    
336     - ro/rw coersions for pointers added.  (Avoids the detour through */&.)
337    
338     - "printf" test example added to src/ml-nlffi-lib/Tests.  (Demonstrates
339       clumsy workaround for varargs problem.)
340    
341    ----------------------------------------------------------------------
342    Name: Lal George
343    Date: 2002/01/15
344    Tag: <none>
345    Description:
346    
347    1. Since COPY instructions are no longer native to the architecture,
348       a generic functor can be used to implement the expandCopies function.
349    
350    2. Allowed EXPORT and IMPORT pseudo-op declarations to appear inside a
351       TEXT segment.
352    
353    ----------------------------------------------------------------------
354    Name: Matthias Blume
355    Date: 2002/01/15
356    Tag: blume-20020115-ffiupdates
357    Description:
358    
359    1. Fix for bug resulting in single-precision float values being returned
360       incorrectly from FFI calls.
361    
362    2. Small modifications to C FFI API:
363    
364        - memory-allocation routines return straight objects (no options)
365          and raise an exception in out-of-memory situations
366        - unsafe extensions to cast between function pointers and pointers
367          from/to ints
368        - added structure C_Debug as an alternative to structure C where
369          pointer-dereferencing (|*| and |*!) always check for null-pointers
370        - added open_lib' to DynLinkage;  open_lib' works like open_lib
371          but also takes a (possibly empty) list of existing library handles
372          that the current library depends on
373    
374    ----------------------------------------------------------------------
375    Name: Matthias Blume
376    Date: 2002/01/10
377    Tag: blume-20020110-newffigen
378    Description:
379    
380    1. Updates to portable graph code.
381    
382    2. Major update to ml-nlffigen and ml-nlffi-lib.  Things are much
383       more scalable now so that even huge interfaces such as the one
384       for GTK compile in finite time and space. :-)
385       See src/ml-nlffigen/README for details on what's new.
386    
387    ----------------------------------------------------------------------
388    Name: Lal George
389    Date: 2001/01/09 14:31:35 EST 2002
390    Tag: george-20011206-rm-native-copy
391    Description:
392    
393            Removed the native COPY and FCOPY instructions
394            from all the architectures and replaced it with the
395            explicit COPY instruction from the previous commit.
396    
397            It is now possible to simplify many of the optimizations
398            modules that manipulate copies. This has not been
399            done in this change.
400    
401  ----------------------------------------------------------------------  ----------------------------------------------------------------------
402  Name: Lal George  Name: Lal George
403  Date: 2001/12/06 16:50:13 EST 2001  Date: 2001/12/06 16:50:13 EST 2001
# Line 341  Line 728 
728    
729  ----------------------------------------------------------------------  ----------------------------------------------------------------------
730  Name: Matthias Blume  Name: Matthias Blume
 >>>>>>> 1.169  
731  Date: 2001/09/18 15:35:00 EDT  Date: 2001/09/18 15:35:00 EDT
732  Tag: blume-20010918-readme11036  Tag: blume-20010918-readme11036
733  Description:  Description:

Legend:
Removed from v.1003  
changed lines
  Added in v.1060

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