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 1128, Fri Mar 8 21:05:27 2002 UTC revision 1148, Fri Mar 15 21:38:57 2002 UTC
# Line 14  Line 14 
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16  Name: Matthias Blume  Name: Matthias Blume
17    Date: 2002/03/15 16:40:00 EST
18    Tag: blume-20020315-basis
19    Description:
20    
21    Provided (preliminary?) implementations for
22    
23      {String,Substring}.{concatWith,isSuffix,isSubstring}
24    
25    and
26    
27      Substring.full
28    
29    Those are in the Basis spec but they were missing in SML/NJ.
30    
31    ----------------------------------------------------------------------
32    Name: Matthias Blume
33    Date: 2002/03/14 21:30:00 EST
34    Tag: blume-20020314-controls
35    Description:
36    
37    Controls:
38    ---------
39    
40    1. Factored out the recently-added Controls : CONTROLS stuff and put
41       it into its own library $/controls-lib.cm.  The source tree for
42       this is under src/smlnj-lib/Controls.
43    
44    2. Changed the names of types and functions in this interface, so they
45       make a bit more "sense":
46    
47          module -> registry
48          'a registry -> 'a group
49    
50    3. The interface now deals in ref cells only.  The getter/setter interface
51       is (mostly) gone.
52    
53    4. Added a function that lets one register an already-existing ref cell.
54    
55    5. Made the corresponding modifications to the rest of the code so that
56       everything compiles again.
57    
58    6. Changed the implementation of Controls.MLRISC back to something closer
59       to the original.  In particular, this module (and therefore MLRISC)
60       does not depend on Controls.  There now is some link-time code in
61       int-sys.sml that registers the MLRISC controls with the Controls
62       module.
63    
64    CM:
65    ---
66    
67      * One can now specify the lambda-split aggressiveness in init.cmi.
68    
69    ----------------------------------------------------------------------
70    Name: Allen Leung
71    Date: 2002/03/13 17:30:00 EST
72    Tag: leunga-20020313-x86-fp-unary
73    Description:
74    
75    Bug fix for:
76    
77    > leunga@weaselbane:~/Yale/tmp/sml-dist{21} bin/sml
78    > Standard ML of New Jersey v110.39.1 [FLINT v1.5], March 08, 2002
79    > - fun f(x,(y,z)) = Real.~ y;
80    > [autoloading]
81    > [autoloading done]
82    >       fchsl   (%eax), 184(%esp)
83    > Error: MLRisc bug: X86MCEmitter.emitInstr
84    >
85    > uncaught exception Error
86    >   raised at: ../MLRISC/control/mlriscErrormsg.sml:16.14-16.19
87    
88    The problem was that the code generator did not generate any fp registers
89    in this case, and the ra didn't know that it needed to run the X86FP phase to
90    translate the pseudo fp instruction.   This only happened with unary fp
91    operators in certain situations.
92    
93    ----------------------------------------------------------------------
94    Name: Matthias Blume
95    Date: 2002/03/13 14:00:00 EST
96    Tag: blume-20020313-overload-etc
97    Description:
98    
99    1. Added _overload as a synonym for overload for backward compatibility.
100       (Control.overloadKW must be true for either version to be accepted.)
101    
102    2. Fixed bug in install script that caused more things to be installed
103       than what was requested in config/targets.
104    
105    3. Made CM aware of the (_)overload construct so that autoloading
106       works.
107    
108    ----------------------------------------------------------------------
109    Name: Matthias Blume
110    Date: 2002/03/12 22:03:00 EST
111    Tag: blume-20020312-url
112    Description:
113    
114    Forgot to update BOOT and srcarchiveurl.
115    
116    ----------------------------------------------------------------------
117    Name: Matthias Blume
118    Date: 2002/03/12 17:30:00 EST
119    Tag: blume-20020312-version110392
120    Description:
121    
122    Yet another version number bump (because of small changes to the
123    binfile format).  Version number is now 110.39.2.  NEW BOOTFILES!
124    
125    Changes:
126    
127      The new pid generation scheme described a few weeks ago was overly
128      complicated.  I implemented a new mechanism that is simpler and
129      provides a bit more "stability":  Once CM has seen a compilation
130      unit, it keeps its identity constant (as long as you do not delete
131      those crucial CM/GUID/* files).  This means that when you change
132      an interface, compile, then go back to the old interface, and
133      compile again, you arrive at the original pid.
134    
135      There now also is a mechanism that instructs CM to use the plain
136      environment hash as a module's pid (effectively making its GUID
137      the empty string).  For this, "noguid" must be specified as an
138      option to the .sml file in question within its .cm file.
139      This is most useful for code that is being generated by tools such
140      as ml-nlffigen (because during development programmers tend to
141      erase the tool's entire output directory tree including CM's cached
142      GUIDs).  "noguid" is somewhat dangerous (since it can be used to locally
143      revert to the old, broken behavior of SML/NJ, but in specific cases
144      where there is no danger of interface confusion, its use is ok
145      (I think).
146    
147      ml-nlffigen by default generates "noguid" annotations.  They can be
148      turned off by specifying -guid in its command line.
149    
150    ----------------------------------------------------------------------
151    Name: Lal George
152    Date: 2002/03/12 12 14:42:36 EST
153    Tag: george-20020312-frequency-computation
154    Description:
155    
156    Integrated jump chaining and static block frequency into the
157    compiler. More details and numbers later.
158    
159    ----------------------------------------------------------------------
160    Name: Lal George
161    Date: 2002/03/11 11 22:38:53 EST
162    Tag: george-20020311-jump-chain-elim
163    Description:
164    
165    Tested the jump chain elimination on all architectures (except the
166    hppa).  This is on by default right now and is profitable for the
167    alpha and x86, however, it may not be profitable for the sparc and ppc
168    when compiling the compiler.
169    
170    The gc test will typically jump to a label at the end of the cluster,
171    where there is another jump to an external cluster containing the actual
172    code to invoke gc. This is to allow factoring of common gc invocation
173    sequences. That is to say, we generate:
174    
175            f:
176               testgc
177               ja   L1      % jump if above to L1
178    
179            L1:
180               jmp L2
181    
182    
183    After jump chain elimination the 'ja L1' instructions is converted to
184    'ja L2'. On the sparc and ppc, many of the 'ja L2' instructions may end
185    up being implemented in their long form (if L2 is far away) using:
186    
187            jbe     L3      % jump if below or equal to L3
188            jmp     L2
189         L3:
190            ...
191    
192    
193    For large compilation units L2  may be far away.
194    
195    
196    ----------------------------------------------------------------------
197    Name: Matthias Blume
198    Date: 2002/03/11 13:30:00 EST
199    Tag: blume-20020311-mltreeeval
200    Description:
201    
202    A functor parameter was missing.
203    
204    ----------------------------------------------------------------------
205    Name: Allen Leung
206    Date: 2002/03/11 10:30:00 EST
207    Tag: leunga-20020311-runtime-string0
208    Description:
209    
210       The representation of the empty string now points to a
211    legal null terminated C string instead of unit.  It is now possible
212    to convert an ML string into C string with InlineT.CharVector.getData.
213    This compiles into one single machine instruction.
214    
215    ----------------------------------------------------------------------
216    Name: Allen Leung
217    Date: 2002/03/10 23:55:00 EST
218    Tag: leunga-20020310-x86-call
219    Description:
220    
221       Added machine generation for CALL instruction (relative displacement mode)
222    
223    ----------------------------------------------------------------------
224    Name: Matthias Blume
225  Date: 2002/03/08 16:05:00  Date: 2002/03/08 16:05:00
226  Tag: blume-20020308-entrypoints  Tag: blume-20020308-entrypoints
227  Description:  Description:

Legend:
Removed from v.1128  
changed lines
  Added in v.1148

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