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 1049, Thu Jan 31 21:03:49 2002 UTC revision 1085, Fri Feb 22 00:15:55 2002 UTC
# Line 13  Line 13 
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    Name: Allen Leung
17    Date: 2002/02/21 20:20:00 EST
18    Tag: leunga-20020221-peephole
19    
20    Regenerated the peephole files.  Some contained typos in the specification
21    and some didn't compile because of pretty printing bugs in the old version
22    of 'nowhere'.
23    
24    ----------------------------------------------------------------------
25    Name: Allen Leung
26    Date: 2002/02/19 20:20:00 EST
27    Tag: leunga-20020219-mlrisc-tools
28    Description:
29    
30       Minor bug fixes to the mlrisc-tools library:
31    
32       1.  Fixed up parsing colon suffixed keywords
33       2.  Added the ability to shut the error messages up
34       3.  Reimplemented the pretty printer and fixed up/improved
35           the pretty printing of handle and -> types.
36       4.  Fixed up generation of literal symbols in the nowhere tool.
37       5.  Added some SML keywords to to sml.sty
38    
39    ----------------------------------------------------------------------
40    Name: Matthias Blume
41    Date: 2002/02/19 16:20:00 EST
42    Tag: blume-20020219-cmffi
43    Description:
44    
45    A wild mix of changes, some minor, some major:
46    
47    * All C FFI-related libraries are now anchored under $c:
48        $/c.cm      --> $c/c.cm
49        $/c-int.cm  --> $c/internals/c-int.cm
50        $/memory.cm --> $c/memory/memory.cm
51    
52    * "make" tool (in CM) now treats its argument pathname slightly
53      differently:
54        1. If the native expansion is an absolute name, then before invoking
55           the "make" command on it, CM will apply OS.Path.mkRelative
56           (with relativeTo = OS.FileSys.getDir()) to it.
57        2. The argument will be passed through to subsequent phases of CM
58           processing without "going native".  In particular, if the argument
59           was an anchored path, then "make" will not lose track of that anchor.
60    
61    * Compiler backends now "know" their respective C calling conventions
62      instead of having to be told about it by ml-nlffigen.  This relieves
63      ml-nlffigen from one of its burdens.
64    
65    * The X86Backend has been split into X86CCallBackend and X86StdCallBackend.
66    
67    * Export C_DEBUG and C_Debug from $c/c.cm.
68    
69    * C type encoding in ml-nlffi-lib has been improved to model the conceptual
70      subtyping relationship between incomplete pointers and their complete
71      counterparts.  For this, ('t, 'c) ptr has been changed to 'o ptr --
72      with the convention of instantiating 'o with ('t, 'c) obj whenever
73      the pointer target type is complete.  In the incomplete case, 'o
74      will be instantiated with some "'c iobj" -- a type obtained by
75      using one of the functors PointerToIncompleteType or PointerToCompleteType.
76    
77      Operations that work on both incomplete and complete pointer types are
78      typed as taking an 'o ptr while operations that require the target to
79      be known are typed as taking some ('t, 'c) obj ptr.
80    
81      voidptr is now a bit "more concrete", namely "type voidptr = void ptr'"
82      where void is an eqtype without any values.  This makes it possible
83      to work on voidptr values using functions meant to operate on light
84      incomplete pointers.
85    
86    * As a result of the above, signature POINTER_TO_INCOMPLETE_TYPE has
87      been vastly simplified.
88    
89    ----------------------------------------------------------------------
90    Name: Matthias Blume
91    Date: 2002/02/19 10:48:00 EST
92    Tag: blume-20020219-pqfix
93    Description:
94    
95    Applied Chris Okasaki's bug fix for priority queues.
96    
97    ----------------------------------------------------------------------
98    Name: Matthias Blume
99    Date: 2002/02/15 17:05:00
100    Tag: Release_110_39
101    Description:
102    
103    Last-minute retagging is becoming a tradition... :-(
104    
105    This is the working release 110.39.
106    
107    ----------------------------------------------------------------------
108    Name: Matthias Blume
109    Date: 2002/02/15 16:00:00 EST
110    Tag: Release_110_39-orig
111    Description:
112    
113    Working release 110.39.  New bootfiles.
114    
115    (Update: There was a small bug in the installer so it wouldn't work
116    with all shells.  So I retagged. -Matthias)
117    
118    ----------------------------------------------------------------------
119    Name: Matthias Blume
120    Date: 2002/02/15 14:17:00 EST
121    Tag: blume-20020215-showbindings
122    Description:
123    
124    Added EnvRef.listBoundSymbols and CM.State.showBindings.  Especially
125    the latter can be useful for exploring what bindings are available at
126    the interactive prompt.  (The first function returns only the list
127    of symbols that are really bound, the second prints those but also the
128    ones that CM's autoloading mechanism knows about.)
129    
130    ----------------------------------------------------------------------
131    Name: Matthias Blume
132    Date: 2002/02/15 12:08:00 EST
133    Tag: blume-20020215-iptrs
134    Description:
135    
136    Two improvements to ml-nlffigen:
137    
138      1. Write files only if they do not exist or if their current contents
139         do not coincide with what's being written.  (That is, avoid messing
140         with the time stamps unless absolutely necessary.)
141    
142      2. Implement a "repository" mechanism for generated files related
143         to "incomplete pointer types".   See the README file for details.
144    
145    ----------------------------------------------------------------------
146    Name: Matthias Blume
147    Date: 2002/02/14 11:50:00 EST
148    Tag: blume-20020214-quote
149    Description:
150    
151    Added a type 't t_' to tag.sml (in ml-nlffi-lib.cm).  This is required
152    because of the new and improved tag generation scheme.  (Thanks to Allen
153    Leung for pointing it out.)
154    
155    ----------------------------------------------------------------------
156    Name: Lal George
157    Date: 2002/02/14 09:55:27 EST 2002
158    Tag: george-20020214-isabelle-bug
159    Description:
160    
161    Fixed the MLRISC bug sent by Markus Wenzel regarding the compilation
162    of Isabelle on the x86.
163    
164    From Allen:
165    -----------
166     I've found the problem:
167    
168         in ra-core.sml, I use the counter "blocked" to keep track of the
169         true number of elements in the freeze queue.  When the counter goes
170         to zero, I skip examining the queue.  But I've messed up the
171         bookkeeping in combine():
172    
173             else ();
174             case !ucol of
175               PSEUDO => (if !cntv > 0 then
176                     (if !cntu > 0 then blocked := !blocked - 1 else ();
177                                        ^^^^^^^^^^^^^^^^^^^^^^^
178                      moveu := mergeMoveList(!movev, !moveu)
179                     )
180                  else ();
181    
182         combine() is called to coalesce two nodes u and v.
183         I think I was thinking that if the move counts of u and v are both
184         greater than zero then after they are coalesced then one node is
185         removed from the freeze queue.  Apparently I was thinking that
186         both u and v are of low degree, but that's clearly not necessarily true.
187    
188    
189    02/12/2002:
190        Here's the patch.  HOL now compiles.
191    
192        I don't know how this impact on performance (compile
193        time or runtime).  This bug caused the RA (especially on the x86)
194        to go thru the potential spill phase when there are still nodes on the
195        freeze queue.
196    
197    
198    
199    
200    ----------------------------------------------------------------------
201    Name: Matthias Blume
202    Date: 2002/02/13 22:40:00 EST
203    Tag: blume-20020213-fptr-rtti
204    Description:
205    
206    Fixed a bug in ml-nlffigen that was introduced with one of the previous
207    updates.
208    
209    ----------------------------------------------------------------------
210    Name: Matthias Blume
211    Date: 2002/02/13 16:41:00 EST
212    Tag: blume-20020213-cmlpq
213    Description:
214    
215    Added new priority queue export symbols (which have just been added to
216    smlnj-lib.cm) to CML's version of smlnj-lib.cm.  (Otherwise CML would
217    not compile and the installer would choke.)
218    
219    ----------------------------------------------------------------------
220    Name: Matthias Blume
221    Date: 2002/02/13 16:15:00 EST
222    Tag: blume-20020213-various
223    Description:
224    
225    1. More tweaks to ml-nlffigen:
226    
227       - better internal datastructures (resulting in slight speedup)
228       - "-match" option requires exact match
229       - "localized" gensym counters (untagged structs/unions nested within
230         other structs/unions or within typedefs get a fresh counter; their
231         tag will be prefixed by a concatenation of their parents' tags)
232       - bug fixes (related to calculation of transitive closure of types
233         to be included in the output)
234    
235    2. Minor Basis updates:
236    
237       - added implementations for List.collate and Option.app
238    
239    ----------------------------------------------------------------------
240    Name: Matthias Blume
241    Date: 2002/02/11 15:55:00 EST
242    Tag: blume-20020211-gensym
243    Description:
244    
245    Added a "-gensym" option to command line of ml-nlffigen.  This can be
246    used to specify a "stem" -- a string that is inserted in all "gensym'd"
247    names (ML structure names that correspond to unnamed C structs, unions,
248    and enums), so that separate runs of ml-nlffigen do not clash.
249    
250    ----------------------------------------------------------------------
251    Name: Matthias Blume
252    Date: 2002/02/11 12:05:00 EST
253    Tag: blume-20020211-gensml
254    Description:
255    
256    A quick fix for a problem with GenSML (in the pgraph-util library):
257    Make generation of toplevel "local" optional.  (Strictly speaking,
258    signature definitions within "local" are not legal SML.)
259    
260    Other than that: updates to INSTALL and cm/TODO.
261    
262    ----------------------------------------------------------------------
263    Name: Matthias Blume
264    Date: 2002/02/08 15:00:00 EST
265    Tag: blume-20020208-uniquepid
266    Description:
267    
268    0. Version number has been bumped to 110.38.1.  NEW BOOTFILES!!!
269    
270    1. The installer (config/install.sh) has gotten smarter:
271    
272         - Configuration options are a bit easier to specify now
273           (in config/targets).
274         - Bug in recognizing .tar.bz2 files fixed.
275         - Installer automatically resolves dependencies between
276           configuration options (e.g., if you ask for eXene, you will
277           also get cml -- regardless whether you asked for it or not).
278         - Installer can run in "quieter mode" by setting the environment
279           variable INSTALL_QUIETLY to "true".  "Quieter" does not mean
280           "completely silent", though.
281         - Build HashCons library as part of smlnj-lib.
282    
283    2. A new scheme for assigning persistent identifiers to compilation
284       units (and, by extension, to types etc.) has been put into place.
285       This fixes a long-standing bug where types and even dynamic values
286       can get internally confused, thereby compromising type safety
287       (abstraction) and dynamic correctness.  See
288    
289         http://cm.bell-labs.com/cm/cs/who/blume/pid-confusion.tgz
290    
291       for an example of how things could go wrong until now.
292    
293       The downside of the new scheme is that pids are not quite as
294       persistent as they used to be: CM will generate a fresh pid
295       for every compilation unit that it thinks it sees for the first
296       time.  That means that if you compile starting from a clean, fresh
297       source tree at two different times, you end up with different
298       binaries.
299    
300       Cutoff recompilation, however, has not been compromised because
301       CM keeps pid information in special caches between runs.
302    
303    ----------------------------------------------------------------------
304    Name: Lal George
305    Date: 2002/02/07 15:34:13 EST 2002
306    Tag: <none>
307    Description:
308    
309    Compilers that generate assembly code may produce  global labels
310    whose value is resolved at link time. The various peephole optimization
311    modules did not take this in account.
312    
313    TODO. The Labels.addrOf function should really return an option
314    type so that clients are forced to deal with this issue, rather
315    than an exception being raised.
316    
317    ----------------------------------------------------------------------
318    Name: Lal George
319    Date: 2002/02/06 13:55:02 EST
320    Tag: george-20020206-ra-breakup
321    Description:
322    
323    1. A bug fix from Allen.
324    
325        A typo causes extra fstp %st(0)'s to be generated at compensation
326        edges, which might cause stack underflow traps at runtime.  This
327        occurs in fft where there are extraneous fstps right before the 'into'
328        trap instruction (in this case they are harmless since none of the
329        integers overflow.)
330    
331    2. Pulled out various utility modules that were embedded in the modules
332       of the register allocator. I need these modules for other purposes, but
333       they are not complete enough to put into a library (just yet).
334    ----------------------------------------------------------------------
335  Name: Matthias Blume  Name: Matthias Blume
336  Date: 2002/01/31 16:05:00 EST  Date: 2002/01/31 16:05:00 EST
337  Tag: blume-20020131-sparc-ccalls  Tag: blume-20020131-sparc-ccalls
# Line 633  Line 952 
952    
953  ----------------------------------------------------------------------  ----------------------------------------------------------------------
954  Name: Matthias Blume  Name: Matthias Blume
 >>>>>>> 1.169  
955  Date: 2001/09/18 15:35:00 EDT  Date: 2001/09/18 15:35:00 EDT
956  Tag: blume-20010918-readme11036  Tag: blume-20010918-readme11036
957  Description:  Description:

Legend:
Removed from v.1049  
changed lines
  Added in v.1085

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