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 833, Tue May 22 22:06:12 2001 UTC
# Line 14  Line 14 
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16  Name: Matthias Blume  Name: Matthias Blume
17    Date: 2001/05/22 18:06:00 EDT
18    Tag: blume-20010522-targets
19    Description:
20    
21    Made install.sh use file config/targets.customized if it exists, falling
22    back to config/targets if it doesn't.  This way one can have a customized
23    version of the targets file without touching the "real thing", thus
24    eliminating the constant fear of accidentally checking something bogus
25    back into the CVS repository...  (File config/targets.customized must
26    not be added to the repository!)
27    
28    ----------------------------------------------------------------------
29    Name: Matthias Blume
30    Date: 2001/05/22 16:30:00 EDT
31    Tag: blume-20010522-minitut
32    Description:
33    
34    1. Bug fix in ml-nlffigen; now (hopefully) correctly handling
35       struct returns.
36    2. Added src/ml-nlffi-lib/Doc/mini-tutorial.txt.  This is some very
37       incomplete, preliminary documentation for NLFFI.
38    
39    ----------------------------------------------------------------------
40    Name: Matthias Blume
41    Date: 2001/05/14 11:30:00 EDT
42    Tag: blume-20010514-script
43    Description:
44    
45    Some bugs in install script fixed.
46    
47    In addition to that I also made a slight change to the NLFFI API:
48    Functors generated by ml-nlffigen now take the dynamic library as a
49    straight functor argument, not as a suspended one.  (The original
50    functor code used to force the suspension right away anyway, so there
51    was nothing gained by this complication of the interface.)
52    
53    ----------------------------------------------------------------------
54    Name: Matthias Blume
55    Date: 2001/05/11 14:35:00 EDT
56    Tag: blume-20010511-ml-nlffi
57    Description:
58    
59    I finally took the plunge and added my new FFI code to the main
60    repository.  For x86-linux it is now ready for prime-time.
61    
62    There are two new subdirectories of "src":
63    
64      - ml-nlffi-lib:
65           The utility library for programs using the FFI interface.
66           Here is the implementation of $/c.cm and its associated low-level
67           partners $/c-int.cm and $/memory.cm.
68      - ml-nlffigen:
69           A stand-alone program for generating ML glue code from C source
70           code.
71    
72    Building ml-nlffigen requires $/ckit-lib.cm.
73    
74    The config/install.sh script has been updates to do the Right Thing
75    (hopefully).
76    
77    Notice that the source tree for the C-Kit will not be put under "src"
78    but directly under the installation root directory.  (This is the
79    structure that currently exists on the CVS server when you check out
80    module "sml".)  Fortunately, config/install.sh knows about this oddity.
81    
82    Bugs: No documentation yet.
83    
84    ----------------------------------------------------------------------
85    Name: Matthias Blume
86    Date: 2001/05/09 16:35:00 EDT
87    Tag: blume-20010509-cpscontract
88    Description:
89    
90    Fixed a bug in the accounting code in cpsopt/contract.sml.  (The
91    wrapper/unwrapper elimination did not decrement usage counts and some
92    dead variables got overlooked by the dead-up logic.)
93    
94    ----------------------------------------------------------------------
95    Name: Lal George
96    Date: 2001/05/08  17:26:09 EDT
97    Tag: george-20010508-omit-frameptr
98    Description:
99    
100    Changes to implement the omit-frame-pointer optimization to support
101    raw C calls. For now, there is only support on the Intel x86, but
102    other architectures will follow as more experience is gained with this.
103    
104    
105    ----------------------------------------------------------------------
106    Name: Matthias Blume
107    Date: 2001/05/07 14:40:00 EDT
108    Tag: blume-20010507-proxies
109    Description:
110    
111    I made into "proxy libraries" all libraries that qualify for such a
112    change.  (A qualifying library is a library that has another library or
113    groups as its sole member and repeats that member's export list
114    verbatim.  A proxy library avoids this repetition by omitting its export
115    list, effectively inheriting the list that its (only) member exports.
116    See the CM manual for more explanation.)
117    The main effect is that explicit export lists for these libraries
118    do not have to be kepts in sync, making maintenance a bit easier.
119    
120    I also added copyright notices to many .cm-files.
121    
122    Last but not least, I made a new set of bootfiles.
123    
124    ----------------------------------------------------------------------
125    Name: Matthias Blume
126    Date: 2001/05/04 17:00:00 EDT
127    Tag: blume-20010504-cm-lsplit
128    Description:
129    
130    0. John merged pending changes to $/smlnj-lib.cm
131    
132    1. Allen's previous change accidentally backed out of one of Lal's
133       earlier changes.  I undid this mistake (re-introducing Lal's change).
134    
135    2. I used the new topOrder' function from graph-scc.sml (from $/smlnj-lib.cm)
136       within the compiler where applicable.  There is some code simplification
137       because of that.
138    
139    3. The "split" phase (in FLINT) is now part of the default list of phases.
140       Compiler.Control.LambdaSplitting.* can be used to globally control the
141       lambda-splitting (cross-module-inlining) engine.  In addition to that,
142       it can now also be controlled on a per-source basis: CM has been taught
143       a new tool parameter applicable to ML source files.
144    
145       - To turn lambda-splitting off completely:
146            local open Compiler.Control.LambdaSplitting in
147                val _ = set Off
148            end
149       - To make "no lambda-splitting" the global default (but allow per-source
150         overriding); this is the initial setting:
151            local open Compiler.Control.LambdaSplitting in
152                val _ = set (Default NONE)
153            end
154       - To make "lambda-splitting with aggressiveness a" the global default
155         (and allow per-source overriding):
156            local open Compiler.Control.LambdaSplitting in
157                val _ = set (Default (SOME a))
158            end
159    
160       - To turn lambda-splitting off for a given ML souce file (say: a.sml)
161         write (in the respective .cm-file):
162            a.sml (lambdasplitting:off)
163       - To turn lambda-splitting for a.sml on with minimal aggressiveness:
164            a.sml (lambdasplitting:on)
165       - To turn lambda-splitting for a.sml on with aggressiveness <a> (where
166         <a> is a decimal non-negative integer):
167            a.sml (lambdasplitting:<a>)
168       - To turn lambda-splitting for a.sml on with maximal aggressiveness:
169            a.sml (lambdasplitting:infinity)
170       - To use the global default for a.sml:
171            a.sml (lambdasplitting:default)
172         or simply
173            a.sml
174    
175    ----------------------------------------------------------------------
176    Name: Allen Leung
177    Date: 2001/05/04 01:57:00 EDT
178    Tag: leunga-20010504-sync
179    Description:
180    
181      MLRISC features.
182    
183      1. Fix to CMPXCHG instructions.
184      2. Changed RA interface to allow annotations in callbacks.
185      3. Added a new method to the stream interface to allow annotations updates.
186    
187    ----------------------------------------------------------------------
188    Name: Matthias Blume
189    Date: 2001/05/01 11:45:00 EDT
190    Tag: blume-20010501-pcedittmp
191    Description:
192    
193    Changed install.sh to use the current working directory instead of
194    /usr/tmp for a temporary file (pcedittmp).  The previous choice
195    of /usr/tmp caused trouble with MacOS X because of file premission
196    problems.
197    
198    ----------------------------------------------------------------------
199    Name: Matthias Blume
200    Date: 2001/04/20 11:10:00 EDT
201    Tag: blume-20010420-inMLflag
202    Description:
203    
204     - added vp_limitPtrMask to vproc-state.h
205       (for use by the raw-C-calls mechanism to implement proper interrupt
206        handling)
207     - made the ML compiler aware of various data-structure offsets so it
208       can generate code for accessing the vp_inML flag and vp_limitPtrMask
209     - tweaked mlriscGen.sml to have it emit interrupt-handling code for
210       raw C-calls
211    
212    ----------------------------------------------------------------------
213    Name: Lal George
214    Date: 2001/04/20 09:15:28 EDT
215    Tag: george-20010420-macosX
216    Description:
217    
218     - Changes to port to Mac OS X; Darwin.
219    
220     - In the process I found that sqrt was broken on the PPC, because the
221       fsqrt instruction is not implemented.
222    
223    ----------------------------------------------------------------------
224    Name: Matthias Blume
225    Date: 2001/04/18 12:45:00 EDT
226    Tag: blume-20010418-ccalls
227    Description:
228    
229     - fixed two off-by-4 errors in the x86-specific c-calls implementation
230       (this bug prevented structure arguments containing pointers from being
231        passed correctly)
232     - changed the raw-C-call code in mlriscGen.sml in such a way that
233       structure arguments are represented as a pointer to the beginning
234       of the structure (instead of having a series of synthesized arguments,
235       one for each structure member)
236    
237     - made makeml script's verbosity level configurable via environment
238       variable (MAKEML_VERBOSITY)
239    
240     - eliminated placeholder implementations for f32l, w16s, i16s, and f32s
241       in rawmem-x86.sml; we are now using the real thing
242    
243    ----------------------------------------------------------------------
244    Name: Matthias Blume
245    Date: 2001/03/22 16:25:00 EST
246    Tag: blume-20010322-bootfiles
247    Description:
248    
249    Created a new set of bootfiles (for your automatic installation convenience).
250    
251    ----------------------------------------------------------------------
252    Name: Matthias Blume
253    Date: 2001/03/22 15:10:00 EST
254    Tag: blume-20010322-rawmem-parcm
255    Description:
256    
257    1. All "raw memory access" primitives for the new FFI are implemented now
258       (at least on the x86).
259    2. Some further cleanup of CM's parallel make mechanism.
260    
261    ----------------------------------------------------------------------
262    Name: Matthias Blume
263    Date: 2001/03/19 17:53:00 EST
264    Tag: blume-20010319-parallel
265    Description:
266    
267    Parallel make (using compile servers) now works again.
268    
269    To this end, CM.stabilize and CMB.make have been modified to work in
270    two passes when compile servers are attached:
271       1. Compile everything, do not perform stabilization; this pass
272          uses compile servers
273       2. Stabilize everything; this pass does not use compile servers
274    If there are no compile servers, the two passes are combined into one
275    (as before).  Splitting the passes increases the inherent parallelism
276    in the dependency graph because the entire graph including all
277    libraries is available at the same time.  This, in turn, improves
278    server utilization.  The downside is that the master process will
279    have to do some extra work after compilation is done (because for
280    technical reasons it must re-read all the binfiles during stabilization).
281    
282    ----------------------------------------------------------------------
283    Name: Matthias Blume
284    Date: 2001/03/16 12:22:00 EST
285    Tag: blume-20010316-bootfiles
286    Description:
287    
288    Created a new set of bootfiles (for your automatic installation convenience).
289    
290    ----------------------------------------------------------------------
291    Name: Matthias Blume
292  Date: 2001/03/16 11:00:00 EST  Date: 2001/03/16 11:00:00 EST
293  Tag: blume-20010316-MLTREE-fixup  Tag: blume-20010316-MLTREE-fixup
294  Description:  Description:

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

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