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 799, Fri Mar 16 15:55:43 2001 UTC revision 826, Wed May 9 20:32:17 2001 UTC
# Line 14  Line 14 
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16  Name: Matthias Blume  Name: Matthias Blume
17    Date: 2001/05/09 16:35:00 EDT
18    Tag: blume-20010509-cpscontract
19    Description:
20    
21    Fixed a bug in the accounting code in cpsopt/contract.sml.  (The
22    wrapper/unwrapper elimination did not decrement usage counts and some
23    dead variables got overlooked by the dead-up logic.)
24    
25    ----------------------------------------------------------------------
26    Name: Lal George
27    Date: 2001/05/08  17:26:09 EDT
28    Tag: george-20010508-omit-frameptr
29    Description:
30    
31    Changes to implement the omit-frame-pointer optimization to support
32    raw C calls. For now, there is only support on the Intel x86, but
33    other architectures will follow as more experience is gained with this.
34    
35    
36    ----------------------------------------------------------------------
37    Name: Matthias Blume
38    Date: 2001/05/07 14:40:00 EDT
39    Tag: blume-20010507-proxies
40    Description:
41    
42    I made into "proxy libraries" all libraries that qualify for such a
43    change.  (A qualifying library is a library that has another library or
44    groups as its sole member and repeats that member's export list
45    verbatim.  A proxy library avoids this repetition by omitting its export
46    list, effectively inheriting the list that its (only) member exports.
47    See the CM manual for more explanation.)
48    The main effect is that explicit export lists for these libraries
49    do not have to be kepts in sync, making maintenance a bit easier.
50    
51    I also added copyright notices to many .cm-files.
52    
53    Last but not least, I made a new set of bootfiles.
54    
55    ----------------------------------------------------------------------
56    Name: Matthias Blume
57    Date: 2001/05/04 17:00:00 EDT
58    Tag: blume-20010504-cm-lsplit
59    Description:
60    
61    0. John merged pending changes to $/smlnj-lib.cm
62    
63    1. Allen's previous change accidentally backed out of one of Lal's
64       earlier changes.  I undid this mistake (re-introducing Lal's change).
65    
66    2. I used the new topOrder' function from graph-scc.sml (from $/smlnj-lib.cm)
67       within the compiler where applicable.  There is some code simplification
68       because of that.
69    
70    3. The "split" phase (in FLINT) is now part of the default list of phases.
71       Compiler.Control.LambdaSplitting.* can be used to globally control the
72       lambda-splitting (cross-module-inlining) engine.  In addition to that,
73       it can now also be controlled on a per-source basis: CM has been taught
74       a new tool parameter applicable to ML source files.
75    
76       - To turn lambda-splitting off completely:
77            local open Compiler.Control.LambdaSplitting in
78                val _ = set Off
79            end
80       - To make "no lambda-splitting" the global default (but allow per-source
81         overriding); this is the initial setting:
82            local open Compiler.Control.LambdaSplitting in
83                val _ = set (Default NONE)
84            end
85       - To make "lambda-splitting with aggressiveness a" the global default
86         (and allow per-source overriding):
87            local open Compiler.Control.LambdaSplitting in
88                val _ = set (Default (SOME a))
89            end
90    
91       - To turn lambda-splitting off for a given ML souce file (say: a.sml)
92         write (in the respective .cm-file):
93            a.sml (lambdasplitting:off)
94       - To turn lambda-splitting for a.sml on with minimal aggressiveness:
95            a.sml (lambdasplitting:on)
96       - To turn lambda-splitting for a.sml on with aggressiveness <a> (where
97         <a> is a decimal non-negative integer):
98            a.sml (lambdasplitting:<a>)
99       - To turn lambda-splitting for a.sml on with maximal aggressiveness:
100            a.sml (lambdasplitting:infinity)
101       - To use the global default for a.sml:
102            a.sml (lambdasplitting:default)
103         or simply
104            a.sml
105    
106    ----------------------------------------------------------------------
107    Name: Allen Leung
108    Date: 2001/05/04 01:57:00 EDT
109    Tag: leunga-20010504-sync
110    Description:
111    
112      MLRISC features.
113    
114      1. Fix to CMPXCHG instructions.
115      2. Changed RA interface to allow annotations in callbacks.
116      3. Added a new method to the stream interface to allow annotations updates.
117    
118    ----------------------------------------------------------------------
119    Name: Matthias Blume
120    Date: 2001/05/01 11:45:00 EDT
121    Tag: blume-20010501-pcedittmp
122    Description:
123    
124    Changed install.sh to use the current working directory instead of
125    /usr/tmp for a temporary file (pcedittmp).  The previous choice
126    of /usr/tmp caused trouble with MacOS X because of file premission
127    problems.
128    
129    ----------------------------------------------------------------------
130    Name: Matthias Blume
131    Date: 2001/04/20 11:10:00 EDT
132    Tag: blume-20010420-inMLflag
133    Description:
134    
135     - added vp_limitPtrMask to vproc-state.h
136       (for use by the raw-C-calls mechanism to implement proper interrupt
137        handling)
138     - made the ML compiler aware of various data-structure offsets so it
139       can generate code for accessing the vp_inML flag and vp_limitPtrMask
140     - tweaked mlriscGen.sml to have it emit interrupt-handling code for
141       raw C-calls
142    
143    ----------------------------------------------------------------------
144    Name: Lal George
145    Date: 2001/04/20 09:15:28 EDT
146    Tag: george-20010420-macosX
147    Description:
148    
149     - Changes to port to Mac OS X; Darwin.
150    
151     - In the process I found that sqrt was broken on the PPC, because the
152       fsqrt instruction is not implemented.
153    
154    ----------------------------------------------------------------------
155    Name: Matthias Blume
156    Date: 2001/04/18 12:45:00 EDT
157    Tag: blume-20010418-ccalls
158    Description:
159    
160     - fixed two off-by-4 errors in the x86-specific c-calls implementation
161       (this bug prevented structure arguments containing pointers from being
162        passed correctly)
163     - changed the raw-C-call code in mlriscGen.sml in such a way that
164       structure arguments are represented as a pointer to the beginning
165       of the structure (instead of having a series of synthesized arguments,
166       one for each structure member)
167    
168     - made makeml script's verbosity level configurable via environment
169       variable (MAKEML_VERBOSITY)
170    
171     - eliminated placeholder implementations for f32l, w16s, i16s, and f32s
172       in rawmem-x86.sml; we are now using the real thing
173    
174    ----------------------------------------------------------------------
175    Name: Matthias Blume
176    Date: 2001/03/22 16:25:00 EST
177    Tag: blume-20010322-bootfiles
178    Description:
179    
180    Created a new set of bootfiles (for your automatic installation convenience).
181    
182    ----------------------------------------------------------------------
183    Name: Matthias Blume
184    Date: 2001/03/22 15:10:00 EST
185    Tag: blume-20010322-rawmem-parcm
186    Description:
187    
188    1. All "raw memory access" primitives for the new FFI are implemented now
189       (at least on the x86).
190    2. Some further cleanup of CM's parallel make mechanism.
191    
192    ----------------------------------------------------------------------
193    Name: Matthias Blume
194    Date: 2001/03/19 17:53:00 EST
195    Tag: blume-20010319-parallel
196    Description:
197    
198    Parallel make (using compile servers) now works again.
199    
200    To this end, CM.stabilize and CMB.make have been modified to work in
201    two passes when compile servers are attached:
202       1. Compile everything, do not perform stabilization; this pass
203          uses compile servers
204       2. Stabilize everything; this pass does not use compile servers
205    If there are no compile servers, the two passes are combined into one
206    (as before).  Splitting the passes increases the inherent parallelism
207    in the dependency graph because the entire graph including all
208    libraries is available at the same time.  This, in turn, improves
209    server utilization.  The downside is that the master process will
210    have to do some extra work after compilation is done (because for
211    technical reasons it must re-read all the binfiles during stabilization).
212    
213    ----------------------------------------------------------------------
214    Name: Matthias Blume
215    Date: 2001/03/16 12:22:00 EST
216    Tag: blume-20010316-bootfiles
217    Description:
218    
219    Created a new set of bootfiles (for your automatic installation convenience).
220    
221    ----------------------------------------------------------------------
222    Name: Matthias Blume
223  Date: 2001/03/16 11:00:00 EST  Date: 2001/03/16 11:00:00 EST
224  Tag: blume-20010316-MLTREE-fixup  Tag: blume-20010316-MLTREE-fixup
225  Description:  Description:

Legend:
Removed from v.799  
changed lines
  Added in v.826

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