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

Legend:
Removed from v.1054  
changed lines
  Added in v.1065

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