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 1066, Thu Feb 14 16:50:02 2002 UTC
# Line 14  Line 14 
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16  Name: Matthias Blume  Name: Matthias Blume
17    Date: 2002/02/14 11:50:00 EST
18    Tag: blume-20020214-quote
19    Description:
20    
21    Added a type 't t_' to tag.sml (in ml-nlffi-lib.cm).  This is required
22    because of the new and improved tag generation scheme.  (Thanks to Allen
23    Leung for pointing it out.)
24    
25    ----------------------------------------------------------------------
26    Name: Lal George
27    Date: 2002/02/14 09:55:27 EST 2002
28    Tag: george-20020214-isabelle-bug
29    Description:
30    
31    Fixed the MLRISC bug sent by Markus Wenzel regarding the compilation
32    of Isabelle on the x86.
33    
34    From Allen:
35    -----------
36     I've found the problem:
37    
38         in ra-core.sml, I use the counter "blocked" to keep track of the
39         true number of elements in the freeze queue.  When the counter goes
40         to zero, I skip examining the queue.  But I've messed up the
41         bookkeeping in combine():
42    
43             else ();
44             case !ucol of
45               PSEUDO => (if !cntv > 0 then
46                     (if !cntu > 0 then blocked := !blocked - 1 else ();
47                                        ^^^^^^^^^^^^^^^^^^^^^^^
48                      moveu := mergeMoveList(!movev, !moveu)
49                     )
50                  else ();
51    
52         combine() is called to coalesce two nodes u and v.
53         I think I was thinking that if the move counts of u and v are both
54         greater than zero then after they are coalesced then one node is
55         removed from the freeze queue.  Apparently I was thinking that
56         both u and v are of low degree, but that's clearly not necessarily true.
57    
58    
59    02/12/2002:
60        Here's the patch.  HOL now compiles.
61    
62        I don't know how this impact on performance (compile
63        time or runtime).  This bug caused the RA (especially on the x86)
64        to go thru the potential spill phase when there are still nodes on the
65        freeze queue.
66    
67    
68    
69    
70    ----------------------------------------------------------------------
71    Name: Matthias Blume
72    Date: 2002/02/13 22:40:00 EST
73    Tag: blume-20020213-fptr-rtti
74    Description:
75    
76    Fixed a bug in ml-nlffigen that was introduced with one of the previous
77    updates.
78    
79    ----------------------------------------------------------------------
80    Name: Matthias Blume
81    Date: 2002/02/13 16:41:00 EST
82    Tag: blume-20020213-cmlpq
83    Description:
84    
85    Added new priority queue export symbols (which have just been added to
86    smlnj-lib.cm) to CML's version of smlnj-lib.cm.  (Otherwise CML would
87    not compile and the installer would choke.)
88    
89    ----------------------------------------------------------------------
90    Name: Matthias Blume
91    Date: 2002/02/13 16:15:00 EST
92    Tag: blume-20020213-various
93    Description:
94    
95    1. More tweaks to ml-nlffigen:
96    
97       - better internal datastructures (resulting in slight speedup)
98       - "-match" option requires exact match
99       - "localized" gensym counters (untagged structs/unions nested within
100         other structs/unions or within typedefs get a fresh counter; their
101         tag will be prefixed by a concatenation of their parents' tags)
102       - bug fixes (related to calculation of transitive closure of types
103         to be included in the output)
104    
105    2. Minor Basis updates:
106    
107       - added implementations for List.collate and Option.app
108    
109    ----------------------------------------------------------------------
110    Name: Matthias Blume
111    Date: 2002/02/11 15:55:00 EST
112    Tag: blume-20020211-gensym
113    Description:
114    
115    Added a "-gensym" option to command line of ml-nlffigen.  This can be
116    used to specify a "stem" -- a string that is inserted in all "gensym'd"
117    names (ML structure names that correspond to unnamed C structs, unions,
118    and enums), so that separate runs of ml-nlffigen do not clash.
119    
120    ----------------------------------------------------------------------
121    Name: Matthias Blume
122    Date: 2002/02/11 12:05:00 EST
123    Tag: blume-20020211-gensml
124    Description:
125    
126    A quick fix for a problem with GenSML (in the pgraph-util library):
127    Make generation of toplevel "local" optional.  (Strictly speaking,
128    signature definitions within "local" are not legal SML.)
129    
130    Other than that: updates to INSTALL and cm/TODO.
131    
132    ----------------------------------------------------------------------
133    Name: Matthias Blume
134    Date: 2002/02/08 15:00:00 EST
135    Tag: blume-20020208-uniquepid
136    Description:
137    
138    0. Version number has been bumped to 110.38.1.  NEW BOOTFILES!!!
139    
140    1. The installer (config/install.sh) has gotten smarter:
141    
142         - Configuration options are a bit easier to specify now
143           (in config/targets).
144         - Bug in recognizing .tar.bz2 files fixed.
145         - Installer automatically resolves dependencies between
146           configuration options (e.g., if you ask for eXene, you will
147           also get cml -- regardless whether you asked for it or not).
148         - Installer can run in "quieter mode" by setting the environment
149           variable INSTALL_QUIETLY to "true".  "Quieter" does not mean
150           "completely silent", though.
151         - Build HashCons library as part of smlnj-lib.
152    
153    2. A new scheme for assigning persistent identifiers to compilation
154       units (and, by extension, to types etc.) has been put into place.
155       This fixes a long-standing bug where types and even dynamic values
156       can get internally confused, thereby compromising type safety
157       (abstraction) and dynamic correctness.  See
158    
159         http://cm.bell-labs.com/cm/cs/who/blume/pid-confusion.tgz
160    
161       for an example of how things could go wrong until now.
162    
163       The downside of the new scheme is that pids are not quite as
164       persistent as they used to be: CM will generate a fresh pid
165       for every compilation unit that it thinks it sees for the first
166       time.  That means that if you compile starting from a clean, fresh
167       source tree at two different times, you end up with different
168       binaries.
169    
170       Cutoff recompilation, however, has not been compromised because
171       CM keeps pid information in special caches between runs.
172    
173    ----------------------------------------------------------------------
174    Name: Lal George
175    Date: 2002/02/07 15:34:13 EST 2002
176    Tag: <none>
177    Description:
178    
179    Compilers that generate assembly code may produce  global labels
180    whose value is resolved at link time. The various peephole optimization
181    modules did not take this in account.
182    
183    TODO. The Labels.addrOf function should really return an option
184    type so that clients are forced to deal with this issue, rather
185    than an exception being raised.
186    
187    ----------------------------------------------------------------------
188    Name: Lal George
189    Date: 2002/02/06 13:55:02 EST
190    Tag: george-20020206-ra-breakup
191    Description:
192    
193    1. A bug fix from Allen.
194    
195        A typo causes extra fstp %st(0)'s to be generated at compensation
196        edges, which might cause stack underflow traps at runtime.  This
197        occurs in fft where there are extraneous fstps right before the 'into'
198        trap instruction (in this case they are harmless since none of the
199        integers overflow.)
200    
201    2. Pulled out various utility modules that were embedded in the modules
202       of the register allocator. I need these modules for other purposes, but
203       they are not complete enough to put into a library (just yet).
204    ----------------------------------------------------------------------
205    Name: Matthias Blume
206  Date: 2002/01/31 16:05:00 EST  Date: 2002/01/31 16:05:00 EST
207  Tag: blume-20020131-sparc-ccalls  Tag: blume-20020131-sparc-ccalls
208  Description:  Description:
# Line 633  Line 822 
822    
823  ----------------------------------------------------------------------  ----------------------------------------------------------------------
824  Name: Matthias Blume  Name: Matthias Blume
 >>>>>>> 1.169  
825  Date: 2001/09/18 15:35:00 EDT  Date: 2001/09/18 15:35:00 EDT
826  Tag: blume-20010918-readme11036  Tag: blume-20010918-readme11036
827  Description:  Description:

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

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