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 1060, Mon Feb 11 20:55:09 2002 UTC revision 1078, Tue Feb 19 21:26:48 2002 UTC
# Line 14  Line 14 
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16  Name: Matthias Blume  Name: Matthias Blume
17    Date: 2002/02/19 16:20:00 EST
18    Tag: blume-20020219-cmffi
19    Description:
20    
21    A wild mix of changes, some minor, some major:
22    
23    * All C FFI-related libraries are now anchored under $c:
24        $/c.cm      --> $c/c.cm
25        $/c-int.cm  --> $c/internals/c-int.cm
26        $/memory.cm --> $c/memory/memory.cm
27    
28    * "make" tool (in CM) now treats its argument pathname slightly
29      differently:
30        1. If the native expansion is an absolute name, then before invoking
31           the "make" command on it, CM will apply OS.Path.mkRelative
32           (with relativeTo = OS.FileSys.getDir()) to it.
33        2. The argument will be passed through to subsequent phases of CM
34           processing without "going native".  In particular, if the argument
35           was an anchored path, then "make" will not lose track of that anchor.
36    
37    * Compiler backends now "know" their respective C calling conventions
38      instead of having to be told about it by ml-nlffigen.  This relieves
39      ml-nlffigen from one of its burdens.
40    
41    * The X86Backend has been split into X86CCallBackend and X86StdCallBackend.
42    
43    * Export C_DEBUG and C_Debug from $c/c.cm.
44    
45    * C type encoding in ml-nlffi-lib has been improved to model the conceptual
46      subtyping relationship between incomplete pointers and their complete
47      counterparts.  For this, ('t, 'c) ptr has been changed to 'o ptr --
48      with the convention of instantiating 'o with ('t, 'c) obj whenever
49      the pointer target type is complete.  In the incomplete case, 'o
50      will be instantiated with some "'c iobj" -- a type obtained by
51      using one of the functors PointerToIncompleteType or PointerToCompleteType.
52    
53      Operations that work on both incomplete and complete pointer types are
54      typed as taking an 'o ptr while operations that require the target to
55      be known are typed as taking some ('t, 'c) obj ptr.
56    
57      voidptr is now a bit "more concrete", namely "type voidptr = void ptr'"
58      where void is an eqtype without any values.  This makes it possible
59      to work on voidptr values using functions meant to operate on light
60      incomplete pointers.
61    
62    * As a result of the above, signature POINTER_TO_INCOMPLETE_TYPE has
63      been vastly simplified.
64    
65    ----------------------------------------------------------------------
66    Name: Matthias Blume
67    Date: 2002/02/19 10:48:00 EST
68    Tag: blume-20020219-pqfix
69    Description:
70    
71    Applied Chris Okasaki's bug fix for priority queues.
72    
73    ----------------------------------------------------------------------
74    Name: Matthias Blume
75    Date: 2002/02/15 17:05:00
76    Tag: Release_110_39
77    Description:
78    
79    Last-minute retagging is becoming a tradition... :-(
80    
81    This is the working release 110.39.
82    
83    ----------------------------------------------------------------------
84    Name: Matthias Blume
85    Date: 2002/02/15 16:00:00 EST
86    Tag: Release_110_39-orig
87    Description:
88    
89    Working release 110.39.  New bootfiles.
90    
91    (Update: There was a small bug in the installer so it wouldn't work
92    with all shells.  So I retagged. -Matthias)
93    
94    ----------------------------------------------------------------------
95    Name: Matthias Blume
96    Date: 2002/02/15 14:17:00 EST
97    Tag: blume-20020215-showbindings
98    Description:
99    
100    Added EnvRef.listBoundSymbols and CM.State.showBindings.  Especially
101    the latter can be useful for exploring what bindings are available at
102    the interactive prompt.  (The first function returns only the list
103    of symbols that are really bound, the second prints those but also the
104    ones that CM's autoloading mechanism knows about.)
105    
106    ----------------------------------------------------------------------
107    Name: Matthias Blume
108    Date: 2002/02/15 12:08:00 EST
109    Tag: blume-20020215-iptrs
110    Description:
111    
112    Two improvements to ml-nlffigen:
113    
114      1. Write files only if they do not exist or if their current contents
115         do not coincide with what's being written.  (That is, avoid messing
116         with the time stamps unless absolutely necessary.)
117    
118      2. Implement a "repository" mechanism for generated files related
119         to "incomplete pointer types".   See the README file for details.
120    
121    ----------------------------------------------------------------------
122    Name: Matthias Blume
123    Date: 2002/02/14 11:50:00 EST
124    Tag: blume-20020214-quote
125    Description:
126    
127    Added a type 't t_' to tag.sml (in ml-nlffi-lib.cm).  This is required
128    because of the new and improved tag generation scheme.  (Thanks to Allen
129    Leung for pointing it out.)
130    
131    ----------------------------------------------------------------------
132    Name: Lal George
133    Date: 2002/02/14 09:55:27 EST 2002
134    Tag: george-20020214-isabelle-bug
135    Description:
136    
137    Fixed the MLRISC bug sent by Markus Wenzel regarding the compilation
138    of Isabelle on the x86.
139    
140    From Allen:
141    -----------
142     I've found the problem:
143    
144         in ra-core.sml, I use the counter "blocked" to keep track of the
145         true number of elements in the freeze queue.  When the counter goes
146         to zero, I skip examining the queue.  But I've messed up the
147         bookkeeping in combine():
148    
149             else ();
150             case !ucol of
151               PSEUDO => (if !cntv > 0 then
152                     (if !cntu > 0 then blocked := !blocked - 1 else ();
153                                        ^^^^^^^^^^^^^^^^^^^^^^^
154                      moveu := mergeMoveList(!movev, !moveu)
155                     )
156                  else ();
157    
158         combine() is called to coalesce two nodes u and v.
159         I think I was thinking that if the move counts of u and v are both
160         greater than zero then after they are coalesced then one node is
161         removed from the freeze queue.  Apparently I was thinking that
162         both u and v are of low degree, but that's clearly not necessarily true.
163    
164    
165    02/12/2002:
166        Here's the patch.  HOL now compiles.
167    
168        I don't know how this impact on performance (compile
169        time or runtime).  This bug caused the RA (especially on the x86)
170        to go thru the potential spill phase when there are still nodes on the
171        freeze queue.
172    
173    
174    
175    
176    ----------------------------------------------------------------------
177    Name: Matthias Blume
178    Date: 2002/02/13 22:40:00 EST
179    Tag: blume-20020213-fptr-rtti
180    Description:
181    
182    Fixed a bug in ml-nlffigen that was introduced with one of the previous
183    updates.
184    
185    ----------------------------------------------------------------------
186    Name: Matthias Blume
187    Date: 2002/02/13 16:41:00 EST
188    Tag: blume-20020213-cmlpq
189    Description:
190    
191    Added new priority queue export symbols (which have just been added to
192    smlnj-lib.cm) to CML's version of smlnj-lib.cm.  (Otherwise CML would
193    not compile and the installer would choke.)
194    
195    ----------------------------------------------------------------------
196    Name: Matthias Blume
197    Date: 2002/02/13 16:15:00 EST
198    Tag: blume-20020213-various
199    Description:
200    
201    1. More tweaks to ml-nlffigen:
202    
203       - better internal datastructures (resulting in slight speedup)
204       - "-match" option requires exact match
205       - "localized" gensym counters (untagged structs/unions nested within
206         other structs/unions or within typedefs get a fresh counter; their
207         tag will be prefixed by a concatenation of their parents' tags)
208       - bug fixes (related to calculation of transitive closure of types
209         to be included in the output)
210    
211    2. Minor Basis updates:
212    
213       - added implementations for List.collate and Option.app
214    
215    ----------------------------------------------------------------------
216    Name: Matthias Blume
217  Date: 2002/02/11 15:55:00 EST  Date: 2002/02/11 15:55:00 EST
218  Tag: blume-20020211-gensym  Tag: blume-20020211-gensym
219  Description:  Description:

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

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